summaryrefslogtreecommitdiff
path: root/lib/items/table/import-excel-button.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/items/table/import-excel-button.tsx')
-rw-r--r--lib/items/table/import-excel-button.tsx28
1 files changed, 18 insertions, 10 deletions
diff --git a/lib/items/table/import-excel-button.tsx b/lib/items/table/import-excel-button.tsx
index 845f5fe2..7509143b 100644
--- a/lib/items/table/import-excel-button.tsx
+++ b/lib/items/table/import-excel-button.tsx
@@ -87,7 +87,7 @@ export function ImportItemButton({ onSuccess }: ImportItemButtonProps) {
worksheet.eachRow((row, rowNumber) => {
const values = row.values as (string | null)[];
- if (!headerRow && values.some(v => v === "아이템 코드" || v === "itemCode" || v === "item_code")) {
+ if (!headerRow && values.some(v => v === "자재그룹코드" || v === "itemCode" || v === "item_code")) {
headerRowIndex = rowNumber;
headerRow = row;
headerValues = [...values];
@@ -106,17 +106,25 @@ export function ImportItemButton({ onSuccess }: ImportItemButtonProps) {
}
});
- // 필수 헤더 확인
- const requiredHeaders = ["아이템 코드", "아이템 명", "설명"];
- const alternativeHeaders = {
- "아이템 코드": ["itemCode", "item_code"],
- "아이템 명": ["itemName", "item_name"],
- "설명": ["description"]
+ // 필수 헤더 확인 (새로운 컬럼 구조에 맞게 수정)
+ const requiredHeaders = ["자재그룹코드", "자재그룹명"];
+ const alternativeHeaders: Record<string, string[]> = {
+ "자재그룹코드": ["itemCode", "item_code"],
+ "자재그룹명": ["itemName", "item_name"],
+ "상세": ["description"],
+ "부모 아이템 코드": ["parentItemCode", "parent_item_code"],
+ "레벨": ["itemLevel", "item_level"],
+ "삭제 플래그": ["deleteFlag", "delete_flag"],
+ "단위": ["unitOfMeasure", "unit_of_measure"],
+ "강종": ["steelType", "steel_type"],
+ "등급 재질": ["gradeMaterial", "grade_material"],
+ "변경일자": ["changeDate", "change_date"],
+ "기본단위": ["baseUnitOfMeasure", "base_unit_of_measure"]
};
// 헤더 매핑 확인 (대체 이름 포함)
const missingHeaders = requiredHeaders.filter(header => {
- const alternatives = alternativeHeaders[header as keyof typeof alternativeHeaders] || [];
+ const alternatives = alternativeHeaders[header] || [];
return !(header in headerMapping) &&
!alternatives.some(alt => alt in headerMapping);
});
@@ -126,11 +134,11 @@ export function ImportItemButton({ onSuccess }: ImportItemButtonProps) {
}
// 데이터 행 추출 (헤더 이후 행부터)
- const dataRows: Record<string, any>[] = [];
+ const dataRows: Record<string, unknown>[] = [];
worksheet.eachRow((row, rowNumber) => {
if (rowNumber > headerRowIndex) {
- const rowData: Record<string, any> = {};
+ const rowData: Record<string, unknown> = {};
const values = row.values as (string | null | undefined)[];
// 헤더 매핑에 따라 데이터 추출