Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

49 lines
1.2KB

  1. <?php
  2. namespace App\Http\Controllers\Web\SeasonTicketContract\Selection;
  3. use App\Http\Controllers\Web\FromKintoneController;
  4. use App\Logic\SeasonTicketContractSelectionManager;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. class FillCandidatesController extends FromKintoneController
  8. {
  9. public function name(): string
  10. {
  11. return "定期選考候補者設定";
  12. }
  13. public function description(): string
  14. {
  15. return "定期選考に候補者を設定する";
  16. }
  17. public function __construct(protected FillCandidatesParams $param)
  18. {
  19. parent::__construct();
  20. }
  21. protected function run(Request $request): JsonResponse
  22. {
  23. $param = $this->param;
  24. $manager = new SeasonTicketContractSelectionManager($param->recordNo);
  25. $manager->makeCandidates()
  26. ->save();
  27. $selection = $manager->getSelection();
  28. info(sprintf(
  29. "候補者設定 駐車場:%s 締日:%s 候補者数:%d件",
  30. $selection->parkingName,
  31. $selection->selectionFinalDate ? $selection->selectionFinalDate->format('Y/m/d') : "-",
  32. $selection->candidateList->count(),
  33. ));
  34. return $this->successResponse();
  35. }
  36. }