feat: BOM 기반 견적 계산 API 엔드포인트 추가
- QuoteBomCalculateRequest.php 생성 (BOM 계산용 FormRequest) - QuoteCalculationService.calculateBom() 메서드 추가 - QuoteController.calculateBom() 액션 추가 - POST /api/v1/quotes/calculate/bom 라우트 등록 - Swagger 문서 업데이트 (스키마 + 엔드포인트) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
use App\Helpers\ApiResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Quote\QuoteBomCalculateRequest;
|
||||
use App\Http\Requests\Quote\QuoteBulkDeleteRequest;
|
||||
use App\Http\Requests\Quote\QuoteCalculateRequest;
|
||||
use App\Http\Requests\Quote\QuoteIndexRequest;
|
||||
@@ -144,6 +145,23 @@ public function calculate(QuoteCalculateRequest $request)
|
||||
}, __('message.quote.calculated'));
|
||||
}
|
||||
|
||||
/**
|
||||
* BOM 기반 자동산출 (10단계 디버깅 포함)
|
||||
*
|
||||
* React 견적등록 화면에서 완제품 코드와 입력 변수를 받아
|
||||
* BOM 기반으로 품목/단가/금액을 계산합니다.
|
||||
*/
|
||||
public function calculateBom(QuoteBomCalculateRequest $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return $this->calculationService->calculateBom(
|
||||
$request->finished_goods_code,
|
||||
$request->getInputVariables(),
|
||||
$request->boolean('debug', false)
|
||||
);
|
||||
}, __('message.quote.calculated'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 자동산출 입력 스키마 조회
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user