feat: 프론트 리워크 추적 — 접수 시 rework_source_id 자동 전달

This commit is contained in:
SeongHyun Kim
2026-04-06 16:14:26 +09:00
parent 6bdcdec9c3
commit e94d298997
@@ -723,6 +723,7 @@ export function WorkOrderList() {
processName: string;
seqNo: string;
maxQty: number;
reworkSourceId?: string;
}>({ open: false, processId: "", processName: "", seqNo: "", maxQty: 0 });
const [acceptLoading, setAcceptLoading] = useState(false);
@@ -972,14 +973,14 @@ export function WorkOrderList() {
}, [masterProcesses, selectedProcess, selectedEquipment, instructionMap, equipmentMap]);
/* ---- Accept handler ---- */
const openAcceptModal = async (processId: string, processName: string, seqNo: string) => {
const openAcceptModal = async (processId: string, processName: string, seqNo: string, reworkSourceId?: string) => {
try {
const res = await apiClient.get("/pop/production/available-qty", {
params: { work_order_process_id: processId },
});
const data = res.data?.data;
const maxQty = data?.availableQty ?? 0;
setAcceptModal({ open: true, processId, processName, seqNo, maxQty });
setAcceptModal({ open: true, processId, processName, seqNo, maxQty, reworkSourceId });
} catch {
alert("접수가능량 조회 실패");
}
@@ -988,10 +989,15 @@ export function WorkOrderList() {
const handleAccept = async (qty: number) => {
setAcceptLoading(true);
try {
const res = await apiClient.post("/pop/production/accept-process", {
const body: Record<string, unknown> = {
work_order_process_id: acceptModal.processId,
accept_qty: qty,
});
};
// 리워크 추적: rework_source_id가 있으면 전달 (원점 복귀 추적)
if (acceptModal.reworkSourceId) {
body.rework_source_id = acceptModal.reworkSourceId;
}
const res = await apiClient.post("/pop/production/accept-process", body);
if (res.data?.success) {
setAcceptModal((m) => ({ ...m, open: false }));
await fetchAll();
@@ -1426,7 +1432,7 @@ export function WorkOrderList() {
{/* Action button (full width, bottom) */}
{isRework && proc.status === "acceptable" && (
<button
onClick={() => openAcceptModal(proc.id, proc.process_name, proc.seq_no)}
onClick={() => openAcceptModal(proc.id, proc.process_name, proc.seq_no, (proc as Record<string, unknown>).rework_source_id as string | undefined)}
className="w-full py-3.5 text-sm font-bold text-white active:scale-[0.98] transition-all"
style={{ background: "linear-gradient(to bottom, #fb923c, #ea580c)" }}
>