문제:
- menu_objid = 0인 공통 카테고리 값들이 19개 스킵됨
- '⏭️ 매핑할 메뉴가 없음: menu_objid=0' 로그 반복
원인:
- 삼항 연산자로 0을 할당했으나, 이후 if (newMenuObjid === undefined) 체크에서
- 0이 falsy 값이 아닌데도 undefined와 비교하여 통과하지 못함
- 실제로는 newMenuObjid가 0일 때도 continue되어 스킵됨
해결:
- menu_objid = 0일 경우를 명시적으로 처리
- 0인 경우 바로 0을 할당하고 continue 없이 진행
- 0이 아닌 경우만 menuIdMap에서 찾고, undefined 체크
변경 전:
const newMenuObjid = value.menu_objid === 0 ? 0 : menuIdMap.get(value.menu_objid);
if (newMenuObjid === undefined) continue; // 0도 여기서 걸림!
변경 후:
if (value.menu_objid === 0) {
newMenuObjid = 0; // 공통 설정은 그대로 0
} else {
newMenuObjid = menuIdMap.get(value.menu_objid);
if (newMenuObjid === undefined) continue; // 진짜 undefined만 스킵
}
영향:
- 공통 카테고리 값 19개 정상 복사
- customer_mng, item_info의 division, status, currency_code 등 정상 동작