fix : BOM구성 API, DB 작업
- product_components 컬럼 변경 - BOM 구성, 카테고리리스트, BOM트리(재귀)호출 API 개발
This commit is contained in:
@@ -68,4 +68,47 @@ public function validateBom(int $id)
|
||||
return $this->service->validateBom($id);
|
||||
}, 'BOM 유효성 검사');
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /api/v1/products/{id}/bom
|
||||
* BOM 구성 저장 (기존 전체 삭제 후 재등록)
|
||||
*/
|
||||
public function replace(Request $request, int $id)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request, $id) {
|
||||
// 서비스에서 트랜잭션 처리 + 예외는 글로벌 핸들러로
|
||||
return $this->service->replaceBom($id, $request->all());
|
||||
}, __('message.bom.creat'));
|
||||
}
|
||||
|
||||
|
||||
/** 특정 제품 BOM에서 사용 중인 카테고리 목록 */
|
||||
public function listCategories(int $id)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($id) {
|
||||
return $this->service->listCategoriesForProduct($id);
|
||||
}, __('message.bom.fetch'));
|
||||
}
|
||||
|
||||
/** 테넌트 전역 카테고리 추천(히스토리) */
|
||||
public function suggestCategories(Request $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
$q = $request->query('q');
|
||||
$limit = (int)($request->query('limit', 20));
|
||||
return $this->service->listCategoriesForTenant($q, $limit);
|
||||
}, __('message.bom.fetch'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** Bom Tree */
|
||||
public function tree(Request $request, int $id)
|
||||
{
|
||||
return ApiResponse::handle(
|
||||
function () use ($request, $id) {
|
||||
return $this->service->tree($request, $id);
|
||||
}, __('message.bom.fetch')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user