<?php

namespace Kylin\Engineer;

use Illuminate\Support\ServiceProvider;

/**
 * 工程管理系统服务提供者
 *
 * 提供工程项目管理配置，包括 JGJ 59-2011 安全检查评分标准、
 * 挣值分析（EVM）预警阈值、材料库存预警等合规配置。
 */
class EngineerServiceProvider extends ServiceProvider
{
    public function register(): void
    {
        $this->mergeConfigFrom(
            __DIR__ . '/../config/engineer.php',
            'engineer'
        );
    }

    public function boot(): void
    {
        if ($this->app->runningInConsole()) {
            $this->publishes([
                __DIR__ . '/../config/engineer.php' => config_path('engineer.php'),
            ], 'engineer-config');
        }

        // 迁移文件存在时才加载（工程领域模型在各业务模块中实现）
        $migrationPath = __DIR__ . '/../database/migrations';
        if (is_dir($migrationPath)) {
            $this->loadMigrationsFrom($migrationPath);
        }
    }
}
