diff --git a/src/app/(main)/m/orders/page.tsx b/src/app/(main)/m/orders/page.tsx index 21dbcb3..9e31650 100644 --- a/src/app/(main)/m/orders/page.tsx +++ b/src/app/(main)/m/orders/page.tsx @@ -224,7 +224,8 @@ function DetailModal({ order, items, supplier, onClose, onCancel, onReload }: { onReload: () => void; }) { const ref = useRef(null); - const editable = order.STATUS === "REQUESTED"; + // 입금완료 전까지 — 출고요청(REQUESTED) + 출고완료(APPROVED) 모두 수정 가능 + const editable = order.STATUS === "REQUESTED" || order.STATUS === "APPROVED"; const updateItemLine = async (lineObjid: string, qty: number) => { const res = await fetch("/api/m/orders/items/update", { @@ -328,7 +329,7 @@ function DetailModal({ order, items, supplier, onClose, onCancel, onReload }: { {editable && (

- ✏️ 출고요청 상태 — 품목 수량을 직접 고치거나 [×]로 삭제할 수 있어요. 저장은 자동. + ✏️ {order.STATUS === "REQUESTED" ? "출고요청" : "출고완료"} 상태 — 입금완료 전까지 품목 수량 수정 · [×]로 삭제 가능. 저장은 자동.

)} @@ -400,7 +401,7 @@ function DetailModal({ order, items, supplier, onClose, onCancel, onReload }: { {editable && (
- ※ 출고요청 상태 — 품목 수량 수정 · 품목 삭제 · 주문 취소 모두 가능합니다. 택배/용차 라인은 모모 담당자가 조정합니다. + ※ {order.STATUS === "REQUESTED" ? "출고요청" : "출고완료"} 상태 — 입금완료 전까지 품목 수량 수정 · 품목 삭제 · 주문 취소 가능합니다. 택배/용차 라인은 모모 담당자가 조정합니다.
)} diff --git a/src/app/api/m/orders/items/update/route.ts b/src/app/api/m/orders/items/update/route.ts index 9a8983c..9e7dbad 100644 --- a/src/app/api/m/orders/items/update/route.ts +++ b/src/app/api/m/orders/items/update/route.ts @@ -50,9 +50,10 @@ export async function POST(req: NextRequest) { return NextResponse.json({ success: false, message: "계산서발행 또는 입금완료 이후 발주는 수정할 수 없습니다." }, { status: 400 }); } } else { - if (order.status !== "REQUESTED") { + // USER: 본인 발주의 REQUESTED + APPROVED (입금 완료 전) 모두 수량 수정 가능 + if (order.status !== "REQUESTED" && order.status !== "APPROVED") { await client.query("ROLLBACK"); - return NextResponse.json({ success: false, message: "출고요청 상태에서만 수정할 수 있습니다." }, { status: 400 }); + return NextResponse.json({ success: false, message: "입금완료 이후 발주는 수정할 수 없습니다." }, { status: 400 }); } }