feat: [work-order] 작업 완료 API 응답에 실제 LOT 번호 포함
- saveItemResults() 반환 타입 void → string (생성된 lot_no 반환) - updateStatus() 완료 시 lot_no를 setAttribute로 응답에 포함
This commit is contained in:
@@ -576,8 +576,8 @@ public function updateStatus(int $id, string $status, ?array $resultData = null)
|
||||
// Fast-track 완료의 경우 started_at도 설정 (중간 상태 생략)
|
||||
$workOrder->started_at = $workOrder->started_at ?? now();
|
||||
$workOrder->completed_at = now();
|
||||
// 모든 품목에 결과 데이터 저장
|
||||
$this->saveItemResults($workOrder, $resultData, $userId);
|
||||
// 모든 품목에 결과 데이터 저장 (LOT 번호 반환)
|
||||
$lotNo = $this->saveItemResults($workOrder, $resultData, $userId);
|
||||
break;
|
||||
case WorkOrder::STATUS_SHIPPED:
|
||||
$workOrder->shipped_at = now();
|
||||
@@ -604,7 +604,14 @@ public function updateStatus(int $id, string $status, ?array $resultData = null)
|
||||
$this->stockInFromProduction($workOrder);
|
||||
}
|
||||
|
||||
return $workOrder->load(['assignee:id,name', 'assignees.user:id,name', 'team:id,name', 'process:id,process_name,process_code']);
|
||||
$result = $workOrder->load(['assignee:id,name', 'assignees.user:id,name', 'team:id,name', 'process:id,process_name,process_code']);
|
||||
|
||||
// 완료 시 LOT 번호를 응답에 포함
|
||||
if (isset($lotNo)) {
|
||||
$result->setAttribute('lot_no', $lotNo);
|
||||
}
|
||||
|
||||
return $result;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1106,7 +1113,7 @@ private function autoStartWorkOrderOnMaterialInput(WorkOrder $workOrder, int $te
|
||||
/**
|
||||
* 작업지시 품목에 결과 데이터 저장
|
||||
*/
|
||||
private function saveItemResults(WorkOrder $workOrder, ?array $resultData, int $userId): void
|
||||
private function saveItemResults(WorkOrder $workOrder, ?array $resultData, int $userId): string
|
||||
{
|
||||
$items = $workOrder->items;
|
||||
$lotNo = $this->generateLotNo($workOrder);
|
||||
@@ -1141,6 +1148,8 @@ private function saveItemResults(WorkOrder $workOrder, ?array $resultData, int $
|
||||
$item->options = $options;
|
||||
$item->save();
|
||||
}
|
||||
|
||||
return $lotNo;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user