218 lines
9.3 KiB
PHP
218 lines
9.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
/**
|
|
* 영업 상품 초기 데이터 시더
|
|
*
|
|
* 개발비: 원래 가격 (예: 80,000,000원)
|
|
* 가입비: 개발비의 25% (예: 20,000,000원) - 할인된 가격으로 표시
|
|
*/
|
|
class SalesProductSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
DB::transaction(function () {
|
|
// 기존 데이터 삭제
|
|
DB::table('sales_contract_products')->delete();
|
|
DB::table('sales_products')->delete();
|
|
DB::table('sales_product_categories')->delete();
|
|
|
|
// 카테고리 생성
|
|
$categories = [
|
|
[
|
|
'code' => 'MANUFACTURER',
|
|
'name' => '제조 업체',
|
|
'description' => '제조업 전용 SAM 솔루션 상품군',
|
|
'base_storage' => '100GB',
|
|
'display_order' => 1,
|
|
],
|
|
[
|
|
'code' => 'CONSTRUCTION',
|
|
'name' => '공사 업체',
|
|
'description' => '공사/시공업 전용 SAM 솔루션 상품군',
|
|
'base_storage' => '100GB',
|
|
'display_order' => 2,
|
|
],
|
|
];
|
|
|
|
$categoryIds = [];
|
|
foreach ($categories as $category) {
|
|
$categoryIds[$category['code']] = DB::table('sales_product_categories')->insertGetId([
|
|
...$category,
|
|
'is_active' => true,
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
|
|
// 제조업체 상품 (8개)
|
|
$manufacturerProducts = [
|
|
[
|
|
'code' => 'MFG_BASIC',
|
|
'name' => '기본 / PC + 모바일 사용 겸용',
|
|
'description' => '일정관리+근태+재고+견적+발주+생산공정 1개+출고+회계+신용조회+대표자 화면 (보고서+전자결제 음성알림)',
|
|
'development_fee' => 80000000,
|
|
'subscription_fee' => 500000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => true,
|
|
'display_order' => 1,
|
|
],
|
|
[
|
|
'code' => 'MFG_QUALITY',
|
|
'name' => '품질관리',
|
|
'description' => '로트관리 + 사진등록기능 + 설비 관리(QR)',
|
|
'development_fee' => 80000000,
|
|
'subscription_fee' => 500000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 2,
|
|
],
|
|
[
|
|
'code' => 'MFG_PROCESS_ADD',
|
|
'name' => '생산 공정 1개 추가시',
|
|
'description' => '별도의 작업지시서',
|
|
'development_fee' => 20000000,
|
|
'subscription_fee' => 100000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 3,
|
|
],
|
|
[
|
|
'code' => 'MFG_AI',
|
|
'name' => 'SAM 봇 / AI기능',
|
|
'description' => '음성녹음-->텍스트 변환 (회의록+업무일지) + 프로그램 내 검색 기능',
|
|
'development_fee' => 20000000,
|
|
'subscription_fee' => 100000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 4,
|
|
],
|
|
[
|
|
'code' => 'MFG_PHOTO',
|
|
'name' => '사진등록기능',
|
|
'description' => '현장 또는 원하는 포인트에 촬영 --> 프로그램에 바로 등록 (맞춤형)',
|
|
'development_fee' => 10000000,
|
|
'subscription_fee' => 100000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 5,
|
|
],
|
|
[
|
|
'code' => 'MFG_INVOICE_CARD',
|
|
'name' => '계산서 + 카드 관리',
|
|
'description' => '계산서 발행 (월 100건 기준 / 초과시 추가 5만원) + 법인카드 (접대비+복리후생비+가지급금 관리)',
|
|
'development_fee' => 10000000,
|
|
'subscription_fee' => 100000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 6,
|
|
],
|
|
[
|
|
'code' => 'MFG_EQUIPMENT',
|
|
'name' => '설비 관리 (QR)',
|
|
'description' => '관리 프로그램',
|
|
'development_fee' => 10000000,
|
|
'subscription_fee' => 50000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 7,
|
|
],
|
|
[
|
|
'code' => 'MFG_RND',
|
|
'name' => '기업부설연구소',
|
|
'description' => '관리 프로그램',
|
|
'development_fee' => 10000000,
|
|
'subscription_fee' => 50000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 8,
|
|
],
|
|
];
|
|
|
|
foreach ($manufacturerProducts as $product) {
|
|
DB::table('sales_products')->insert([
|
|
'category_id' => $categoryIds['MANUFACTURER'],
|
|
...$product,
|
|
'registration_fee' => $product['development_fee'] * 0.25,
|
|
'is_active' => true,
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
|
|
// 공사업체 상품 (3개)
|
|
$constructionProducts = [
|
|
[
|
|
'code' => 'CON_BASIC',
|
|
'name' => '기본 / PC + 모바일 사용 겸용',
|
|
'description' => '일정관리+근태+견적+발주+공사관리+기성+회계+신용조회+대표자 화면 (보고서+전자결제 음성알림)',
|
|
'development_fee' => 80000000,
|
|
'subscription_fee' => 500000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => true,
|
|
'display_order' => 1,
|
|
],
|
|
[
|
|
'code' => 'CON_AI',
|
|
'name' => 'SAM 봇 / AI기능',
|
|
'description' => '음성녹음-->텍스트 변환 (회의록+업무일지) + 프로그램 내 검색 기능',
|
|
'development_fee' => 20000000,
|
|
'subscription_fee' => 100000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 2,
|
|
],
|
|
[
|
|
'code' => 'CON_PHOTO',
|
|
'name' => '사진등록기능',
|
|
'description' => '현장 또는 원하는 포인트에 촬영 --> 프로그램에 바로 등록 (맞춤형)',
|
|
'development_fee' => 10000000,
|
|
'subscription_fee' => 100000,
|
|
'partner_commission_rate' => 20,
|
|
'manager_commission_rate' => 5,
|
|
'allow_flexible_pricing' => true,
|
|
'is_required' => false,
|
|
'display_order' => 3,
|
|
],
|
|
];
|
|
|
|
foreach ($constructionProducts as $product) {
|
|
DB::table('sales_products')->insert([
|
|
'category_id' => $categoryIds['CONSTRUCTION'],
|
|
...$product,
|
|
'registration_fee' => $product['development_fee'] * 0.25,
|
|
'is_active' => true,
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
});
|
|
|
|
$this->command->info('✅ 영업 상품 초기 데이터 생성 완료 (2개 카테고리, 11개 상품)');
|
|
}
|
|
}
|