diff --git a/src/app/api/suitable/route.ts b/src/app/api/suitable/route.ts index 888e663..c9ca8c4 100644 --- a/src/app/api/suitable/route.ts +++ b/src/app/api/suitable/route.ts @@ -12,7 +12,7 @@ import { Suitable } from '@/types/Suitable' * * @apiBody {FormData} form-data * @apiBody {String} form-data.ids 메인 ID 목록 (쉼표로 구분된 문자열) - * @apiBody {String} form-data.detailIds 상세 ID 목록 (쉼표로 구분된 문자열) + * @apiBody {String} [form-data.detailIds] 상세 ID 목록 (쉼표로 구분된 문자열) * * @apiExample {curl} Example usage: * curl -X POST \ @@ -44,10 +44,10 @@ export async function POST(request: NextRequest) { try { const body: Record = await request.json() const ids = body.ids - const detailIds = body.detailIds + const detailIds = body.detailIds || '' /* 파라미터 체크 */ - if (ids === '' || detailIds === '') { + if (ids === '') { return NextResponse.json({ error: '필수 파라미터가 누락되었습니다' }, { status: 400 }) } @@ -71,7 +71,7 @@ export async function POST(request: NextRequest) { , msd_json.memo FROM ms_suitable_detail msd_json WHERE msd.main_id = msd_json.main_id - AND msd_json.id IN (:detailIds) + --detailIds AND msd_json.id IN (:detailIds) FOR JSON PATH ) AS detail FROM ms_suitable_detail msd @@ -86,7 +86,10 @@ export async function POST(request: NextRequest) { /* 검색 조건 설정 */ query = query.replaceAll(':mainIds', ids) - query = query.replaceAll(':detailIds', detailIds) + if (detailIds) { + query = query.replace('--detailIds ', '') + query = query.replace(':detailIds', detailIds) + } const suitable: Suitable[] = await prisma.$queryRawUnsafe(query) diff --git a/src/components/popup/SuitableDetailPopup.tsx b/src/components/popup/SuitableDetailPopup.tsx index 461ac1b..6c41daf 100644 --- a/src/components/popup/SuitableDetailPopup.tsx +++ b/src/components/popup/SuitableDetailPopup.tsx @@ -68,7 +68,7 @@ export default function SuitableDetailPopup() {
{toCodeName(SUITABLE_HEAD_CODE.ROOF_SH_CD, item.roofShCd)}
- {toSuitableDetail(item.detail).map((subItem: SuitableDetail) => ( + {toSuitableDetail(item.detail)?.map((subItem: SuitableDetail) => (
{toCodeName(SUITABLE_HEAD_CODE.TRESTLE_MFPC_CD, subItem.trestleMfpcCd)}
diff --git a/src/components/suitable/SuitableList.tsx b/src/components/suitable/SuitableList.tsx index a0dc5be..3e87f54 100644 --- a/src/components/suitable/SuitableList.tsx +++ b/src/components/suitable/SuitableList.tsx @@ -83,7 +83,7 @@ export default function SuitableList() {