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.
|
- <?php
-
- namespace App\Http\Controllers\Web\SeasonTicketContract;
-
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\Models\Customer;
- use App\Kintone\Models\Parking;
- use App\Kintone\Models\SeasonTicketContract;
- use App\Kintone\Models\VehicleInfoUpdateApplication;
- use App\Logic\GeneralApplicationManager;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
-
- class UpdateVehicleInfoOrderController extends WebController
- {
-
- public function name(): string
- {
- return "車両情報変更申請";
- }
-
- public function description(): string
- {
- return "車両情報変更依頼を登録する";
- }
-
-
- public function __construct(protected UpdateVehicleInfoOrderParams $param)
- {
- parent::__construct();
- $this->middleware('auth:sanctum');
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $parking = Parking::findByParkingName($param->parkingName);
- $customer = Customer::getSelf();
- $seasonTicketContract = SeasonTicketContract::find($param->seasonTicketContractRecordNo);
-
- $application = new VehicleInfoUpdateApplication();
- $manager = new GeneralApplicationManager($application);
- $manager
- ->setCustomer($customer)
- ->setSeasonTicketContract($seasonTicketContract)
- ->setParking($parking)
- ->makeApplication();
-
- $application->changeDate = $param->changeDate;
- $application->vehicleNoBefore = $seasonTicketContract->vehicleNo;
- $application->vehicleNoAfter = $param->vehicleNo;
- $application->registerNoBefore = $seasonTicketContract->registerNo;
- $application->registerNoAfter = $param->registerNo;
- $application->memo = $param->memo;
-
- $application->save();
-
- return $this->successResponse();
- }
- }
|