Files
sam-api/app/Services/EstimateService.php
hskwon cc206fdbed style: Laravel Pint 코드 포맷팅 적용
- PSR-12 스타일 가이드 준수
- 302개 파일 스타일 이슈 자동 수정
- 코드 로직 변경 없음 (포맷팅만)
2025-11-06 17:45:49 +09:00

61 lines
1.5 KiB
PHP

<?php
namespace App\Services;
use App\Enums\EstimateStatus;
use App\Models\Estimates\MainRequestEstimate;
use App\Repositories\MainRequestRepository;
class EstimateService
{
protected $mainRequestRepo;
public function __construct(MainRequestRepository $mainRequestRepo)
{
$this->mainRequestRepo = $mainRequestRepo;
}
/**
* 견적 신규 등록
*/
public function createEstimate($mainRequestId, array $data, $actorId): MainRequestEstimate
{
$estimate = $this->mainRequestRepo->createEstimate($mainRequestId, $data);
// 상태 이력 기록 (draft)
$this->mainRequestRepo->addFlow(
$mainRequestId,
get_class($estimate),
$estimate->id,
EstimateStatus::Draft->value,
'등록',
$actorId,
'견적서 임시 등록'
);
return $estimate;
}
/**
* 견적 상태 변경
*/
public function changeEstimateStatus(MainRequestEstimate $estimate, EstimateStatus $newStatus, $actorId, $memo = null)
{
$estimate->status_code = $newStatus;
$estimate->save();
// 이력 기록
$this->mainRequestRepo->addFlow(
$estimate->main_request_id,
get_class($estimate),
$estimate->id,
$newStatus->value,
'상태변경',
$actorId,
$memo
);
}
// ... 기타 견적 비즈니스 로직도 여기에!
}