Files
sam-api/database/seeders/ItemTypeSeeder.php
hskwon bf92b37ff6 feat: 품목 마스터 소스 매핑 기능 추가
- ItemField 모델: 소스 매핑 컬럼 추가 (source_table, source_column 등)
- ItemPage 모델: source_table 컬럼 추가
- ItemDataService: 동적 데이터 조회 서비스
- ItemMasterApi Swagger 업데이트
- ItemTypeSeeder: 품목 유형 시더
- 스펙 문서: ITEM_MASTER_FIELD_INTEGRATION_PLAN.md
2025-12-09 09:39:16 +09:00

46 lines
1.6 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class ItemTypeSeeder extends Seeder
{
/**
* Run the database seeds.
* common_codes 테이블에 item_type 그룹 데이터 시딩
*/
public function run(): void
{
$tenantId = 1; // 기본 테넌트
// code_group = 'item_type' (컬럼명과 동일하게!)
$itemTypes = [
['code_group' => 'item_type', 'code' => 'FG', 'name' => '완제품', 'tenant_id' => $tenantId],
['code_group' => 'item_type', 'code' => 'PT', 'name' => '반제품', 'tenant_id' => $tenantId],
['code_group' => 'item_type', 'code' => 'SM', 'name' => '부자재', 'tenant_id' => $tenantId],
['code_group' => 'item_type', 'code' => 'RM', 'name' => '원자재', 'tenant_id' => $tenantId],
['code_group' => 'item_type', 'code' => 'CS', 'name' => '소모품', 'tenant_id' => $tenantId],
];
foreach ($itemTypes as $index => $item) {
DB::table('common_codes')->updateOrInsert(
[
'code_group' => $item['code_group'],
'code' => $item['code'],
'tenant_id' => $item['tenant_id'],
],
array_merge($item, [
'sort_order' => $index + 1,
'is_active' => true,
'created_at' => now(),
'updated_at' => now(),
])
);
}
$this->command->info('ItemTypeSeeder: '.count($itemTypes).'개 item_type 코드가 시딩되었습니다.');
}
}