feat(MNG): 채번 규칙 관리 기능 추가

- NumberingRule 모델, 서비스, 컨트롤러 추가
- API/Blade 라우트 등록
- CRUD + 미리보기 기능

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 16:00:08 +09:00
parent 2c8ee14ad6
commit 0e2de0002a
13 changed files with 1265 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
<?php
namespace App\Http\Controllers;
use App\Models\NumberingRule;
use App\Services\NumberingRuleService;
use Illuminate\Http\Request;
use Illuminate\View\View;
class NumberingRuleController extends Controller
{
public function __construct(
private readonly NumberingRuleService $numberingRuleService
) {}
public function index(Request $request): View
{
return view('numbering.index', [
'documentTypes' => NumberingRule::documentTypes(),
]);
}
public function create(): View
{
$usedTypes = $this->numberingRuleService->getUsedDocumentTypes();
return view('numbering.create', [
'documentTypes' => NumberingRule::documentTypes(),
'resetPeriods' => NumberingRule::resetPeriods(),
'usedDocumentTypes' => $usedTypes,
]);
}
public function edit(int $id): View
{
$rule = $this->numberingRuleService->getRule($id);
if (! $rule) {
abort(404, '채번 규칙을 찾을 수 없습니다.');
}
$usedTypes = $this->numberingRuleService->getUsedDocumentTypes($id);
return view('numbering.edit', [
'rule' => $rule,
'documentTypes' => NumberingRule::documentTypes(),
'resetPeriods' => NumberingRule::resetPeriods(),
'usedDocumentTypes' => $usedTypes,
]);
}
}