領収証発行サービス
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2KB

  1. <?php
  2. namespace App\Http\Controllers\Web\ReceiptIssuingOrder;
  3. use App\Codes\UserRole;
  4. use App\Features\LoginUser;
  5. use App\Http\Controllers\Web\IParam;
  6. use App\Http\Controllers\Web\WebController;
  7. use App\Models\ReceiptIssuingOrder;
  8. use Illuminate\Http\JsonResponse;
  9. use Illuminate\Http\Request;
  10. class StatusesController extends WebController
  11. {
  12. use LoginUser;
  13. public function name(): string
  14. {
  15. return "領収証ステータス一覧取得";
  16. }
  17. public function description(): string
  18. {
  19. return "領収証ステータスの一覧首取得";
  20. }
  21. public function __construct(
  22. protected StatusesParam $param,
  23. ) {
  24. $this->roleAllow(UserRole::NORMAL_ADMIN);
  25. parent::__construct();
  26. }
  27. protected function getParam(): IParam
  28. {
  29. return $this->param;
  30. }
  31. protected function run(Request $request): JsonResponse
  32. {
  33. $records = ReceiptIssuingOrder::whereContractId($this->loginUser()->getCurrentContractId())
  34. ->groupBy(ReceiptIssuingOrder::COL_NAME_STATUS_NAME)
  35. ->orderBy(ReceiptIssuingOrder::COL_NAME_STATUS_NAME)
  36. ->pluck(ReceiptIssuingOrder::COL_NAME_STATUS_NAME);
  37. return $this->successResponse($records);
  38. }
  39. }