fix: 불량 처리 시 공정 선택 UI 연결 — processList를 DefectTypeModal에 전달

This commit is contained in:
SeongHyun Kim
2026-04-06 15:00:34 +09:00
parent cff733e568
commit fab29b720d
@@ -318,6 +318,7 @@ export function ProcessWork({ processId }: ProcessWorkProps) {
const [wiInfo, setWiInfo] = useState<WorkInstructionInfo | null>(null);
const [checklist, setChecklist] = useState<ChecklistItem[]>([]);
const [defectTypes, setDefectTypes] = useState<DefectType[]>([]);
const [processList, setProcessList] = useState<Array<{ process_code: string; process_name: string }>>([]);
const [loading, setLoading] = useState(true);
const [saving, setSaving] = useState(false);
@@ -432,7 +433,24 @@ export function ProcessWork({ processId }: ProcessWorkProps) {
setIsLastProcess(false);
}
// 6. Warehouses
// 6. 같은 작업지시의 공정 목록 (재작업 공정 지정용)
if (procData?.wo_id) {
try {
const plRes = await dataApi.getTableData("work_order_process", {
size: 100,
filters: { wo_id: procData.wo_id },
});
const masters = ((plRes.data ?? []) as ProcessData[])
.filter((p) => !p.parent_process_id)
.sort((a, b) => parseInt(a.seq_no, 10) - parseInt(b.seq_no, 10))
.map((p) => ({ process_code: p.process_code, process_name: p.process_name }));
// 중복 제거
const seen = new Set<string>();
setProcessList(masters.filter((m) => { if (seen.has(m.process_code)) return false; seen.add(m.process_code); return true; }));
} catch { setProcessList([]); }
}
// 7. Warehouses
try {
const whRes = await apiClient.get("/pop/production/warehouses");
setWarehouses(whRes.data?.data || []);
@@ -1754,6 +1772,7 @@ export function ProcessWork({ processId }: ProcessWorkProps) {
defectTypes={defectTypes}
maxQty={productionQty > 0 ? productionQty : 99999}
initialEntries={defectEntries}
processList={processList}
/>
</div>
);