feat: [작업자화면] 검사 완료 시 생산일자 자동 저장
- updateWorkOrderScheduledDate API 함수 추가 (PUT /work-orders/{id})
- handleInspectionComplete에서 검사 완료 시 오늘 날짜로 생산일자 자동 저장
- UI의 생산일자 필드도 즉시 반영
This commit is contained in:
@@ -250,6 +250,20 @@ export async function completeWorkOrder(
|
||||
return { success: true, lotNo };
|
||||
}
|
||||
|
||||
// ===== 작업지시 생산일자 업데이트 =====
|
||||
export async function updateWorkOrderScheduledDate(
|
||||
id: string,
|
||||
scheduledDate: string
|
||||
): Promise<{ success: boolean; error?: string }> {
|
||||
const result = await executeServerAction({
|
||||
url: `${API_URL}/api/v1/work-orders/${id}`,
|
||||
method: 'PUT',
|
||||
body: { scheduled_date: scheduledDate },
|
||||
errorMessage: '생산일자 저장에 실패했습니다.',
|
||||
});
|
||||
return { success: result.success, error: result.error };
|
||||
}
|
||||
|
||||
// ===== 자재 목록 조회 (로트 기준) =====
|
||||
export interface MaterialForInput {
|
||||
stockLotId: number | null; // StockLot ID (null이면 재고 없음)
|
||||
|
||||
@@ -49,7 +49,7 @@ import { Button } from '@/components/ui/button';
|
||||
import { PageLayout } from '@/components/organisms/PageLayout';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { toast } from 'sonner';
|
||||
import { getMyWorkOrders, completeWorkOrder, saveItemInspection, getWorkOrderInspectionData, saveInspectionDocument, getInspectionTemplate, getStepProgress, toggleStepProgress, deleteMaterialInput, updateMaterialInput, getDepartments, getDepartmentUsers } from './actions';
|
||||
import { getMyWorkOrders, completeWorkOrder, saveItemInspection, getWorkOrderInspectionData, saveInspectionDocument, getInspectionTemplate, getStepProgress, toggleStepProgress, deleteMaterialInput, updateMaterialInput, getDepartments, getDepartmentUsers, updateWorkOrderScheduledDate } from './actions';
|
||||
import type { StepProgressItem, DepartmentOption, DepartmentUser } from './actions';
|
||||
import type { InspectionTemplateData } from './types';
|
||||
import { getProcessList } from '@/components/process-management/actions';
|
||||
@@ -1366,7 +1366,14 @@ export default function WorkerScreen() {
|
||||
// stepProgressId 없으면 로컬만 완료 처리
|
||||
setStepCompletionMap((prev) => ({ ...prev, [buildStepKey(stepName)]: true }));
|
||||
}
|
||||
// 4. 작업 목록 리프레시 (상태 변경 반영 → 사이드바 대기/완료 탭 갱신)
|
||||
// 4. 생산일자 자동 저장 (검사 완료 시점 = 생산일자)
|
||||
if (selectedOrder) {
|
||||
const today = new Date().toISOString().slice(0, 10);
|
||||
await updateWorkOrderScheduledDate(selectedOrder.id, today);
|
||||
setProductionDate(today);
|
||||
}
|
||||
|
||||
// 5. 작업 목록 리프레시 (상태 변경 반영 → 사이드바 대기/완료 탭 갱신)
|
||||
const refreshResult = await getMyWorkOrders();
|
||||
if (refreshResult.success) setWorkOrders(refreshResult.data);
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user