Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/coba.fixmate.id/app/Http/Controllers/Api/
Upload File :
Current File : /home/aplikasiposinfo/www/coba.fixmate.id/app/Http/Controllers/Api/ApiPengembalianController.php

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Pengembalian;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Validator;

class ApiPengembalianController extends Controller
{
    public function store(Request $request):JsonResponse
    {
        // if($request->json()){
        //     $validator = Validator::make($request->all(), [
        //         "detail_penjualan.*"  => "required|array",
                
        //     ]);
        // } else {
        //     $validator = Validator::make($request->all(), [
        //         "item_id.*"  => "required|integer",
        //         "qty.*"  => "required|integer",
        //     ]);
        // }

        // if ($validator->fails()) {
        //     return response()->json([
        //         'message'=>'invalid',
        //         'data'=>$validator->getMessageBag()
        //     ],422);
        // }

        // Log::info($request->all());

        DB::beginTransaction();
        try {
            $last_pengembalian = Pengembalian::where('pengguna_id',$request->user()->id)->latest()->first();
            $nomor_nota = 1;
            if($last_pengembalian){
                $nomor_nota = explode("-",$last_pengembalian->nomor_nota)[1]+1;
            }
            if($request->json()){
                $json = $request->json()->all();
                Log::info($json);
                $pengembalian = Pengembalian::create([
                    'pengguna_id'=>$request->user()->id,
                    'nomor_nota'=> date("Ymd-").$nomor_nota,
                    'tanggal_pengembalian'=>date("Y-m-d"),
                    'penjualan_id'=>$request->penjualan_id
                ]);
                foreach ($json['detail_pengembalian'] as $key => $value) {
                    $pengembalian->detail_pengembalians()->create([
                        'detail_penjualan_id'=>$value['detail_penjualan_id'],
                        'qty'=>$value['qty'],
                    ]);
                }
            }
            DB::commit();
            return response()->json([
                'message'=>'success',
                'data'=>''
            ]);
        } catch (\Throwable $th) {
            DB::rollback();
            Log::error($th);
            return response()->json([
                'message'=>'failed',
                'data'=>$th->getMessage()
            ],500);
        }
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]