diff --git a/app/Console/Commands/ShjElevenCommand.php b/app/Console/Commands/ShjElevenCommand.php deleted file mode 100644 index 2e739f2..0000000 --- a/app/Console/Commands/ShjElevenCommand.php +++ /dev/null @@ -1,182 +0,0 @@ -shjElevenService = $shjElevenService; - } - - /** - * コンソールコマンドを実行 - * - * 処理フロー: - * 1. 集計単位每个の契約台数を算出する - * 2. 取得件数判定 - * 3. ゾーンマスタを取得する - * 4. 取得判定とゾーンマスタ登録 - * 5. 契約台数チェック(限界台数超過判定) - * 6. 契約台数を反映する - * 7. バッチ処理ログを作成する - * - * @return int - */ - public function handle() - { - try { - // 開始ログ出力 - $startTime = now(); - $this->info('SHJ-11 現在契約台数集計を開始します。'); - Log::info('SHJ-11 現在契約台数集計開始', [ - 'start_time' => $startTime - ]); - - // 【処理1】集計単位每个の契約台数を算出する - $this->info('【処理1】集計単位每个の契約台数を算出しています...'); - $contractCounts = $this->shjElevenService->calculateContractCounts(); - - // 【判断1】取得件数判定 - $countResults = count($contractCounts); - $this->info("取得件数: {$countResults}件"); - - if ($countResults === 0) { - // 対象なしの結果を設定する - $this->info('契約台数算出対象なしのため処理を終了します。'); - - // バッチ処理ログを作成 - $this->shjElevenService->createBatchLog( - 'success', - [], - '契約台数算出対象なし', - 0, - 0, - 0 - ); - - Log::info('SHJ-11 現在契約台数集計完了(対象なし)', [ - 'end_time' => now(), - 'duration_seconds' => $startTime->diffInSeconds(now()) - ]); - - return self::SUCCESS; - } - - // 【処理2・3】ゾーンマスタ処理(取得・登録・更新) - $this->info('【処理2】ゾーンマスタ処理を実行しています...'); - $processResult = $this->shjElevenService->processZoneManagement($contractCounts); - - // 処理結果確認 - if ($processResult['success']) { - $endTime = now(); - $this->info('SHJ-11 現在契約台数集計が正常に完了しました。'); - $this->info("処理時間: {$startTime->diffInSeconds($endTime)}秒"); - $this->info("処理対象件数: {$countResults}件"); - $this->info("ゾーン新規作成件数: {$processResult['created_zones']}件"); - $this->info("ゾーン更新件数: {$processResult['updated_zones']}件"); - $this->info("限界台数超過件数: {$processResult['over_capacity_count']}件"); - - // 【処理4】バッチ処理ログを作成する - $this->shjElevenService->createBatchLog( - 'success', - $processResult['parameters'], - '現在契約台数集計処理完了', - $countResults, - $processResult['created_zones'] + $processResult['updated_zones'], - 0 - ); - - Log::info('SHJ-11 現在契約台数集計完了', [ - 'end_time' => $endTime, - 'duration_seconds' => $startTime->diffInSeconds($endTime), - 'processed_count' => $countResults, - 'created_zones' => $processResult['created_zones'], - 'updated_zones' => $processResult['updated_zones'], - 'over_capacity_count' => $processResult['over_capacity_count'] - ]); - - return self::SUCCESS; - } else { - $this->error('SHJ-11 現在契約台数集計でエラーが発生しました: ' . $processResult['message']); - - // エラー時のバッチログ作成 - $this->shjElevenService->createBatchLog( - 'error', - $processResult['parameters'] ?? [], - $processResult['message'], - $countResults, - $processResult['created_zones'] ?? 0, - 1 - ); - - Log::error('SHJ-11 現在契約台数集計エラー', [ - 'error' => $processResult['message'], - 'details' => $processResult['details'] ?? null - ]); - - return self::FAILURE; - } - - } catch (\Exception $e) { - $this->error('SHJ-11 現在契約台数集計で予期しないエラーが発生しました: ' . $e->getMessage()); - - // 例外時のバッチログ作成 - $this->shjElevenService->createBatchLog( - 'error', - [], - 'システムエラー: ' . $e->getMessage(), - 0, - 0, - 1 - ); - - Log::error('SHJ-11 現在契約台数集計例外エラー', [ - 'exception' => $e->getMessage(), - 'trace' => $e->getTraceAsString() - ]); - - return self::FAILURE; - } - } -}