diff --git a/src/app/(main)/m/admin/procurements/page.tsx b/src/app/(main)/m/admin/procurements/page.tsx
index da1e8d2..9a478e5 100644
--- a/src/app/(main)/m/admin/procurements/page.tsx
+++ b/src/app/(main)/m/admin/procurements/page.tsx
@@ -352,8 +352,9 @@ function ProcurementForm({ detail, vendors, onSetVendor, onSetMemo, onSetTerm, o
onUpdateLine: (line: { objid?: string; itemObjid?: string; qty: number; costPrice: number }) => void;
onDeleteLine: (objid: string) => void;
}) {
- // 입금완료(PAID)/취소(CANCELLED) 전까지 수정 허용 — 발주요청/입고완료/부분입고 도 수량 수정 가능
- const editable = !["PAID", "CANCELLED"].includes(detail.proc.STATUS);
+ // OPEN(작성중) / REQUESTED(발주요청) 만 수정 가능.
+ // RECEIVED(입고완료) / PARTIAL(부분입고) / PAID(입금완료) / CANCELLED 는 수정 불가.
+ const editable = ["OPEN", "REQUESTED"].includes(detail.proc.STATUS);
const formRef = useRef
(null);
const handleCapture = async () => {
@@ -419,12 +420,14 @@ function ProcurementForm({ detail, vendors, onSetVendor, onSetMemo, onSetTerm, o
공급업체 |
{editable ? (
-
+
+ ({ value: v.OBJID, label: v.VENDOR_NAME }))}
+ placeholder="공급업체 검색/선택"
+ />
+
) : (
{detail.proc.VENDOR_NAME ?? "-"}
)}
diff --git a/src/app/api/m/procurements/lines/save/route.ts b/src/app/api/m/procurements/lines/save/route.ts
index 5ba2a2c..54015ac 100644
--- a/src/app/api/m/procurements/lines/save/route.ts
+++ b/src/app/api/m/procurements/lines/save/route.ts
@@ -34,10 +34,10 @@ export async function POST(req: NextRequest) {
return NextResponse.json({ success: false, message: "발주서를 찾을 수 없습니다." }, { status: 404 });
}
const status = procRes.rows[0].status;
- // 입금완료(PAID)/취소(CANCELLED) 외 모든 상태에서 수정 허용
- if (status === "PAID" || status === "CANCELLED") {
+ // OPEN/REQUESTED 만 허용. 입고완료/부분입고/입금완료/취소는 차단.
+ if (status !== "OPEN" && status !== "REQUESTED") {
await client.query("ROLLBACK");
- return NextResponse.json({ success: false, message: "입금완료/취소 상태는 수정할 수 없습니다." }, { status: 400 });
+ return NextResponse.json({ success: false, message: "입고완료 이후 상태는 수정할 수 없습니다." }, { status: 400 });
}
for (const ln of lines) {
|