8. MEMBUAT STOK PRODUK

 1. BUAT DATABASE = PRODUKS


2. TRANSAKSIS


3. BUAT VIEW TAMPIL DATA PRODUK & MODAL TAMBAH DATA PRODUK

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <a href="" style="margin-left: 8px" data-toggle="modal" 
                data-target="#exampleModal">
                <i class="fa fa-plus"></i> Tambah Produk
            </a>
            <div class="card">
                <div class="card-header" align="center">Data Produk</div>
                    <div class="card-body">
                        <table class="table">
                            <thead class="thead-light">
                                <tr>
                                <th scope="col">No</th>
                                <th scope="col">Kode Barang</th>
                                <th scope="col">Nama Barang</th>
                                <th scope="col">Harga Satuan</th>
                                <th>Pilihan</th>
                                </tr>
                            </thead>
                            <tbody>
                                @foreach ($produk as $pro)
                                    <tr>
                                    <td>{{$loop->iteration}}</td>
                                    <td>{{$pro->kode_brg}}</td>
                                    <td>{{$pro->nama_brg}}</td>
                                    <td>Rp {{ number_format($pro->harga}}</td>
                                    <td>
                                        
                                    </td>
                                </tr>
                                @endforeach
                            </tbody>
                        </table>
                    </div>
            </div>
            <!-- Modal -->
            <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" 
                aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Tambah Data Produk</h5>
                    <button type="button" class="close" data-dismiss="modal" 
                        aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    @if(count($errors) > 0)
                        <div class="alert alert-danger">
                            @foreach ($errors->all() as $error)
                            {{ $error }} <br/>
                            @endforeach
                        </div>
                    @endif

                    <form  class="multisteps-form__form"role="form" 
                        method="post" action="{{ url ('produk-tambah/store')}}" 
                        enctype="multipart/form-data">
                        @csrf
                        <div class="form-row mt-4">
                            <div class="col-12 col-sm-4">
                                <label>Kode Barang</label>
                                <input class="multisteps-form__input form-control" 
                                name="kode_brg" type="text"
                                placeholder="Kode Barang"/>
                            </div>
                            <div class="col-12 col-sm-8">
                                <label>Nama Barang</label>
                                <input class="multisteps-form__input form-control" 
                                name="nama_brg" type="text"
                                placeholder="Masukan Nama Barang"/>
                            </div>
                        </div>
                        <div class="form-row mt-4">
                            <div class="col-12 col-sm-12">
                                <label>Harga</label>
                                <input class="multisteps-form__input form-control" 
                                name="harga" type="text"
                                placeholder="Harga Barang"/>
                            </div>
                            <div class="form-row mt-4 ml-1">
                                <input type="submit" class="btn btn-success" 
                                value="Simpan">
                            </div>
                        </div>
                    </form>
                </div>
                </div>
            </div>
            </div>
            <!--stop modal-->
        </div>
    </div>
</div>
@endsection

3. BUAT MODEL PRODUK

protected $table = "produks";
protected $fillable =['kode_brg','nama_brg','harga'];

4. CONTOROLLER TAMPIL DATA PRODUK

public function index()
    {
        $produk = \App\Produk::get();
        return view('produk',compact('produk'));
    }

5. CONTROLLER TAMBAH DATA PRODUK

public function store(Request $request)
    {
        Produk::create([
            'kode_brg' => $request->kode_brg,
            'nama_brg' => $request->nama_brg,
            'harga' => $request->harga,
        ]);
        return redirect()->back();
    }

NOTE ; UNTUK TAMBAH PRODUK BLM DI VALIDATE

6. ROUTE WEB.PHP

//produk
Route::get('/produk''ProdukController@index');
Route::post('/produk-tambah/store''ProdukController@store');

---------------------------------------------------------

LANJUT KE VIEW TRANSAKSI

7. BUAT CONTROLLER TRANSAKSI TAMPIL DATA TRANSAKSI

use App\Produk;
// carbon API FORMAT TANGGAL
use Carbon\Carbon;
use App\Transaksi;

-

public function index()
    {
        //tampil data transaksi
        $transaksi['parse'] = Transaksi::get();
        //format tgl API CARBON
        $tgl['now']     = Carbon::now()->format('Y-m-d');
        //tampil data produk
        $data['produks'] = Produk::get();
        return view('transaksi',compact('data','transaksi','tgl'));
    }

8. VIEW TRANSAKSI tampil riwayat & modal tambah transaksi baru

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">

            <a href="" style="margin-left: 8px" data-toggle="modal" 
                data-target="#transaksi">
                <i class="fa fa-plus"></i> Transaksi Baru
            </a>

            <div class="card">
                <div class="card-header">Transaksi</div>

                <div class="card-body">
                        <table class="table">
                            <thead class="thead-light">
                                <tr>
                                <th scope="col">No</th>
                                <th scope="col">Tanggal</th>
                                <th scope="col">Kode</th>
                                <th scope="col">Nama Barang</th>
                                <th scope="col">Status</th>
                                <th scope="col">Jumlah</th>
                                <th scope="col">Pilihan</th>
                                </tr>
                            </thead>
                            <tbody>
                                @foreach ($transaksi['parse'] as $tr)
                                    <tr>
                                    <th scope="row">{{$loop->iteration}}</th>
                                    <td><?= Date('d-m-Y'strtotime 
                                    ($tr->tgl ??'' ));?></td>
                                    <td>{{$tr->produk->kode_brg}}</td>
                                    <td>{{$tr->produk->nama_brg}}</td>
                                    <td>
                                        @if($tr->tipe == 'keluar')
                                        <span class="badge badge-danger">
                                        {{$tr->tipe == 'keluar' ? 'Keluar':'Masuk'}}
                                        </span>
                                        @else
                                        <span class="badge badge-success">
                                        {{$tr->tipe == 'keluar' ? 'Keluar':'Masuk'}}
                                        </span> @endif
                                    </td>
                                    <td>
                                        @if($tr->tipe == 'keluar')
                                        {{$tr->jumlah*-1}}
                                        @else
                                        {{$tr->jumlah}}@endif
                                    </td>
                                    <td>
                                        
                                    </td>
                                </tr>
                                @endforeach
                            </tbody>
                        </table>
                    </div>

                    <!-- Modal -->
            <div class="modal fade" id="transaksi" tabindex="-1" role="dialog" 
            aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">
                            Tambah Transaksi
                        </h5>
                        <button type="button" class="close" data-dismiss="modal" 
                        aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">

                        @if(count($errors) > 0)
                        <div class="alert alert-danger">
                            @foreach ($errors->all() as $error)
                            {{ $error }} <br/>
                            @endforeach
                        </div>
                    @endif

                    <form  class="multisteps-form__form"role="form" method="post" 
                    action="{{ url ('transaksi-stok/store')}}" 
                    enctype="multipart/form-data">
                        @csrf
                        <div class="form-row mt-4">
                            <div class="col-12 col-sm-6">
                                <label>Tanggal</label>
                                <input id="datepicker" type="date" name="tgl" 
                                class="form-control"
                                value="{{$tgl['now']}}" required disabled>
                                <input hidden id="datepicker" type="date" name="tgl" 
                                class="form-control"
                                value="{{$tgl['now']}}" required>
                            </div>
                            <div class="col-12 col-sm-6">
                                <label>Keluar/Masuk</label>
                                <select class="form-control" name="tipe" required>
                                        <option value="">-- Pilih --</option>
                                        <option value="masuk">Masuk</option>
                                        <option value="keluar">Keluar</option>
                                </select>
                            </div>
                        </div>
                        <div class="form-row mt-4">
                            <div class="col-12 col-sm-8">
                                <label>Produk</label>
                                <select class="form-control" name="produk_id[]" 
                                    required>
                                        <option value="">-- Pilih --</option>
                                        @foreach ($data['produks'] as $opt)
                                            <option value="{{$opt->id}}">
                                        {{$opt->nama_brg}}</option>
                                        @endforeach
                                </select>
                            </div>
                            <div class="col-12 col-sm-4">
                                <label>Jumlah</label>
                                <input class="multisteps-form__input form-control" 
                                name="jumlah[]" type="number"/>
                            </div>
                        </div>
                        <div class="form-row mt-4">
                            <div class="form-row mt-4 ml-1">
                                <input type="submit" class="btn btn-success" 
                                 value="Simpan">
                            </div>
                        </div>

                    </form>

                    </div>
                </div>
            </div>
            </div>
            <!--stop modal-->

            </div>
        </div>
    </div>
</div>
@endsection

9. model transaksi 

protected $table = "transaksis";
protected $fillable = ['produk_id','jumlah','tgl'];

    //RELASI KE DATA PRODUK
    public function produk()
    {
        return $this->belongsTo('App\Produk''produk_id');
    }

    public function jumlah_stok()
    {
        //laporan stok // HITUNG JUMLAH STOK
        $sql = DB::table('transaksis')->select(DB::raw('SUM(jumlah) as jumlah_stok'))
        ->where('produk_id'$this->produk_id)->first();
        return $sql->jumlah_stok;
    }

10. route transaksi

//kluar masuk//transaksi
Route::get('/transaksi''TransaksiController@index');
Route::post('/transaksi-stok/store''TransaksiController@store');

11. view laporan

<table class="table">
    <thead class="thead-light">
        <tr>
        <th scope="col">No</th>
        <th scope="col">Kode</th>
        <th scope="col">Nama Barang</th>
        <th scope="col">Harga Satuan</th>
        <th scope="col">Total Stok</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($data['parse'] as $lap)
            <tr>
            <th scope="row">{{$loop->iteration}}</th>
            <td>{{$lap[0]->produk->kode_brg}}</td>
            <td>{{$lap[0]->produk->nama_brg}}</td>
            <td>Rp {{ number_format($lap[0]->produk->harga}}</td>
            <td>{{$lap[0]->jumlah_stok()}}</td>
        </tr>
        @endforeach
    </tbody>
</table>

12. controller laporan

public function index()
    {
        $total = Transaksi::get();
        $data['parse'] = $total->groupBy('produk_id');
        return view('laporan-stok',compact('data'));
    }

13. route laporan

//laporan
Route::get('/laporan-stok''LaporanController@index');

14. INSTAL API CARBON

KUNJUNGI https://carbon.nesbot.com/#gettingstarted

INSTAL DI TERMINAL ATAU GIT composer require nesbot/carbon


0 Response to "8. MEMBUAT STOK PRODUK"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel