feat: [생산/출하] 수주 단위 출하 자동생성 + 상태 흐름 개선

- 출하를 작업지시(WO) 단위 → 수주(Order) 단위로 변경
  - createShipmentFromOrder: 모든 메인 WO 품목을 통합하여 출하 1건 생성
  - 출하에 수주 정보 복사 안함 (order_info accessor로 조인 참조)
- syncOrderStatus에서 PRODUCED 전환 시 자동 출하 생성
  - ensureShipmentExists: 이미 PRODUCED인데 출하 없으면 재생성
- POST /shipments/from-order/{orderId} 수동 출하 생성 API 추가
  - createShipmentForOrder: 상태 검증 + 작업지시 조회 + 출하 생성
- Shipment order_info accessor 확장 (receiver, delivery_address_detail, delivery_method)
- ShipmentService index에 creator 관계 추가 (목록 작성자 표시)
- autoCompleteWorkOrderIfAllStepsDone: 전체 step 완료 시 WO 자동완료
- autoCompleteOrphanedSteps: 고아 step 자동보정
- syncOrderStatus: 공정 미지정 WO 바이패스
- ApiResponse::success 201 인자 오류 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 01:32:22 +09:00
parent 12373edf8c
commit 479059747b
6 changed files with 298 additions and 21 deletions

View File

@@ -99,6 +99,9 @@
'cannot_delete' => '현재 상태에서는 삭제할 수 없습니다.',
'invalid_status' => '유효하지 않은 상태입니다.',
'cannot_ship' => '출하 가능 상태가 아닙니다.',
'order_not_produced' => '생산완료 상태의 수주만 출하를 생성할 수 있습니다.',
'no_work_orders' => '해당 수주에 유효한 작업지시가 없습니다.',
'already_exists' => '이미 해당 수주에 출하가 존재합니다.',
],
// 파일 관리 관련