feat(lab): A 메뉴(AI/자동화) 12개, M 메뉴(관리) 11개 마이그레이션
- AIController 생성 (12개 메서드)
- ManagementController 생성 (11개 메서드)
- A 메뉴 플레이스홀더 템플릿 12개 생성
- 사업자등록증 OCR, 웹 녹음 AI 요약, 회의록 AI 요약
- 업무협의록 AI 요약, 운영자용 챗봇, Vertex RAG 챗봇
- 테넌트 지식 업로드, 테넌트 챗봇, SAM AI 메뉴 이동
- SAM AI 알람음 제작, GPS 출퇴근 관리, 기업개황 조회
- M 메뉴 플레이스홀더 템플릿 11개 생성
- 바로빌 테넌트 관리, 전자세금계산서 전략, 전자세금계산서
- 사업자등록번호 진위 확인, 영업관리 & 매니저 미팅관리
- 카드 세무항목 매칭 전략, 한국 카드사 API 보고서
- 카드 사용내역 수집 후 매칭, 계좌입출금 내역 조회 API
- 영업관리 시나리오, 매니저 시나리오
- 라우트 23개 추가 (AI 12개, Management 11개)
- 사이드바 메뉴 라우트 연결 완료
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:55:18 +09:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Lab;
|
|
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
2025-12-16 23:36:00 +09:00
|
|
|
use App\Services\SalesScenarioService;
|
|
|
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
|
use Illuminate\Http\Request;
|
feat(lab): A 메뉴(AI/자동화) 12개, M 메뉴(관리) 11개 마이그레이션
- AIController 생성 (12개 메서드)
- ManagementController 생성 (11개 메서드)
- A 메뉴 플레이스홀더 템플릿 12개 생성
- 사업자등록증 OCR, 웹 녹음 AI 요약, 회의록 AI 요약
- 업무협의록 AI 요약, 운영자용 챗봇, Vertex RAG 챗봇
- 테넌트 지식 업로드, 테넌트 챗봇, SAM AI 메뉴 이동
- SAM AI 알람음 제작, GPS 출퇴근 관리, 기업개황 조회
- M 메뉴 플레이스홀더 템플릿 11개 생성
- 바로빌 테넌트 관리, 전자세금계산서 전략, 전자세금계산서
- 사업자등록번호 진위 확인, 영업관리 & 매니저 미팅관리
- 카드 세무항목 매칭 전략, 한국 카드사 API 보고서
- 카드 사용내역 수집 후 매칭, 계좌입출금 내역 조회 API
- 영업관리 시나리오, 매니저 시나리오
- 라우트 23개 추가 (AI 12개, Management 11개)
- 사이드바 메뉴 라우트 연결 완료
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:55:18 +09:00
|
|
|
|
2025-12-14 00:31:34 +09:00
|
|
|
/**
|
|
|
|
|
* R&D Labs > M. 관리 메뉴 컨트롤러
|
|
|
|
|
*/
|
feat(lab): A 메뉴(AI/자동화) 12개, M 메뉴(관리) 11개 마이그레이션
- AIController 생성 (12개 메서드)
- ManagementController 생성 (11개 메서드)
- A 메뉴 플레이스홀더 템플릿 12개 생성
- 사업자등록증 OCR, 웹 녹음 AI 요약, 회의록 AI 요약
- 업무협의록 AI 요약, 운영자용 챗봇, Vertex RAG 챗봇
- 테넌트 지식 업로드, 테넌트 챗봇, SAM AI 메뉴 이동
- SAM AI 알람음 제작, GPS 출퇴근 관리, 기업개황 조회
- M 메뉴 플레이스홀더 템플릿 11개 생성
- 바로빌 테넌트 관리, 전자세금계산서 전략, 전자세금계산서
- 사업자등록번호 진위 확인, 영업관리 & 매니저 미팅관리
- 카드 세무항목 매칭 전략, 한국 카드사 API 보고서
- 카드 사용내역 수집 후 매칭, 계좌입출금 내역 조회 API
- 영업관리 시나리오, 매니저 시나리오
- 라우트 23개 추가 (AI 12개, Management 11개)
- 사이드바 메뉴 라우트 연결 완료
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:55:18 +09:00
|
|
|
class ManagementController extends Controller
|
|
|
|
|
{
|
2025-12-16 23:36:00 +09:00
|
|
|
public function __construct(
|
|
|
|
|
private SalesScenarioService $salesScenarioService
|
|
|
|
|
) {}
|
|
|
|
|
|
feat(lab): A 메뉴(AI/자동화) 12개, M 메뉴(관리) 11개 마이그레이션
- AIController 생성 (12개 메서드)
- ManagementController 생성 (11개 메서드)
- A 메뉴 플레이스홀더 템플릿 12개 생성
- 사업자등록증 OCR, 웹 녹음 AI 요약, 회의록 AI 요약
- 업무협의록 AI 요약, 운영자용 챗봇, Vertex RAG 챗봇
- 테넌트 지식 업로드, 테넌트 챗봇, SAM AI 메뉴 이동
- SAM AI 알람음 제작, GPS 출퇴근 관리, 기업개황 조회
- M 메뉴 플레이스홀더 템플릿 11개 생성
- 바로빌 테넌트 관리, 전자세금계산서 전략, 전자세금계산서
- 사업자등록번호 진위 확인, 영업관리 & 매니저 미팅관리
- 카드 세무항목 매칭 전략, 한국 카드사 API 보고서
- 카드 사용내역 수집 후 매칭, 계좌입출금 내역 조회 API
- 영업관리 시나리오, 매니저 시나리오
- 라우트 23개 추가 (AI 12개, Management 11개)
- 사이드바 메뉴 라우트 연결 완료
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:55:18 +09:00
|
|
|
// 바로빌 테넌트 관리
|
|
|
|
|
public function barobillTenant()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.barobill-tenant');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 전자세금계산서 전략
|
|
|
|
|
public function taxInvoiceStrategy()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.tax-invoice-strategy');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 전자세금계산서
|
|
|
|
|
public function taxInvoice()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.tax-invoice');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 사업자등록번호 진위 확인
|
|
|
|
|
public function businessVerify()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.business-verify');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 영업관리 & 매니저 미팅관리
|
|
|
|
|
public function salesMeeting()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.sales-meeting');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 카드 세무항목 매칭 전략
|
|
|
|
|
public function cardTaxMatching()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.card-tax-matching');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 한국 카드사 API 보고서
|
|
|
|
|
public function cardApiReport()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.card-api-report');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 카드 사용내역 수집 후 매칭
|
|
|
|
|
public function cardUsageMatching()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.card-usage-matching');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 계좌입출금 내역 조회 API
|
|
|
|
|
public function accountApi()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.account-api');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 영업관리 시나리오
|
|
|
|
|
public function salesScenario()
|
|
|
|
|
{
|
2025-12-16 23:36:00 +09:00
|
|
|
$steps = SalesScenarioService::getScenarioSteps();
|
|
|
|
|
$user = auth()->user();
|
|
|
|
|
$checklist = $user ? $this->salesScenarioService->getUserChecklist($user) : [];
|
|
|
|
|
$progress = $user ? $this->salesScenarioService->getOverallProgress($user) : ['total' => 0, 'checked' => 0, 'percent' => 0];
|
|
|
|
|
|
|
|
|
|
return view('lab.management.sales-scenario', compact('steps', 'checklist', 'progress'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 영업관리 시나리오 체크리스트 조회 API
|
|
|
|
|
public function salesScenarioChecklist(): JsonResponse
|
|
|
|
|
{
|
|
|
|
|
$user = auth()->user();
|
|
|
|
|
|
|
|
|
|
if (! $user) {
|
|
|
|
|
return response()->json(['success' => false, 'message' => '인증이 필요합니다.'], 401);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$data = $this->salesScenarioService->getUserChecklist($user);
|
|
|
|
|
$progress = $this->salesScenarioService->getOverallProgress($user);
|
|
|
|
|
|
|
|
|
|
return response()->json([
|
|
|
|
|
'success' => true,
|
|
|
|
|
'data' => $data,
|
|
|
|
|
'progress' => $progress,
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 영업관리 시나리오 체크포인트 토글 API
|
|
|
|
|
public function salesScenarioToggle(Request $request): JsonResponse
|
|
|
|
|
{
|
|
|
|
|
$user = auth()->user();
|
|
|
|
|
|
|
|
|
|
if (! $user) {
|
|
|
|
|
return response()->json(['success' => false, 'message' => '인증이 필요합니다.'], 401);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$validated = $request->validate([
|
|
|
|
|
'step_id' => 'required|integer|min:1|max:6',
|
|
|
|
|
'checkpoint_index' => 'required|integer|min:0',
|
|
|
|
|
'is_checked' => 'required|boolean',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$checkedIndices = $this->salesScenarioService->toggleCheckpoint(
|
|
|
|
|
$user,
|
|
|
|
|
$validated['step_id'],
|
|
|
|
|
$validated['checkpoint_index'],
|
|
|
|
|
$validated['is_checked']
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$progress = $this->salesScenarioService->getOverallProgress($user);
|
|
|
|
|
|
|
|
|
|
return response()->json([
|
|
|
|
|
'success' => true,
|
|
|
|
|
'data' => $checkedIndices,
|
|
|
|
|
'progress' => $progress,
|
|
|
|
|
]);
|
feat(lab): A 메뉴(AI/자동화) 12개, M 메뉴(관리) 11개 마이그레이션
- AIController 생성 (12개 메서드)
- ManagementController 생성 (11개 메서드)
- A 메뉴 플레이스홀더 템플릿 12개 생성
- 사업자등록증 OCR, 웹 녹음 AI 요약, 회의록 AI 요약
- 업무협의록 AI 요약, 운영자용 챗봇, Vertex RAG 챗봇
- 테넌트 지식 업로드, 테넌트 챗봇, SAM AI 메뉴 이동
- SAM AI 알람음 제작, GPS 출퇴근 관리, 기업개황 조회
- M 메뉴 플레이스홀더 템플릿 11개 생성
- 바로빌 테넌트 관리, 전자세금계산서 전략, 전자세금계산서
- 사업자등록번호 진위 확인, 영업관리 & 매니저 미팅관리
- 카드 세무항목 매칭 전략, 한국 카드사 API 보고서
- 카드 사용내역 수집 후 매칭, 계좌입출금 내역 조회 API
- 영업관리 시나리오, 매니저 시나리오
- 라우트 23개 추가 (AI 12개, Management 11개)
- 사이드바 메뉴 라우트 연결 완료
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:55:18 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 매니저 시나리오
|
|
|
|
|
public function managerScenario()
|
|
|
|
|
{
|
|
|
|
|
return view('lab.management.manager-scenario');
|
|
|
|
|
}
|
|
|
|
|
}
|