sibanu_web/app/Http/Controllers/BarangController.php
2022-08-21 13:18:13 +07:00

252 lines
7.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Barang;
use App\Models\JenisBarang;
use App\Models\SatuanBarang;
use App\Models\Pengguna;
use App\Models\KategoriSimak;
use Illuminate\Support\Facades\DB;
class BarangController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\View\View
*/
public function index()
{
$data['menu'] = 'Manajemen Barang';
$data['current_page'] = 'Data-barang';
$data['pengguna'] = Pengguna::all();
$data['barang'] = Barang::join('tbl_satuan','tbl_satuan.id','=','tbl_barang.satuan_id')
->join('tbl_kategori_simak','tbl_barang.kategori_simak_id','=','tbl_kategori_simak.id')
->join('tbl_jenis_barang','tbl_jenis_barang.id','=','tbl_barang.jenis_barang_id')
->get(['tbl_barang.*','tbl_satuan.nama_satuan','tbl_jenis_barang.nama_jenis']);
$data['satuan_barang'] = SatuanBarang::all();
$data['jenis_barang'] = jenisBarang::all();
$data['kategori_simak'] = KategoriSimak::all();
return view('admin.barang.index',$data);
}
public function store(Request $request)
{
$data = array(
'nama_barang'=>$request->nama_barang,
'serial_number'=>$request->serial_number,
'keterangan'=>$request->keterangan,
'tanggal_masuk'=>$request->tanggal_masuk,
'jenis_barang_id'=>$request->jenis_barang,
'satuan_id'=>$request->satuan_barang,
'jumlah_barang'=>$request->jumlah,
'lokasi'=>$request->lokasi,
'harga'=>$request->harga_barang,
'nup'=>$request->nup,
'kategori_simak_id'=>$request->kategori_simak,
'kodebarang'=>$request->kode_barang
);
$insert = DB::table('tbl_barang')->insert($data);
if($insert){
return redirect('barang')->with('sukses', 'Data Barang Berhasil di tambahkan ..');
}else{
return redirect('barang')->with('error', 'Data Barang Gagal di tambahkan ..');
}
}
public function jenis_barang()
{
$data['menu'] = 'Manajemen Barang';
$data['current_page'] = 'Jenis-barang';
return view('admin.barang.jenis_barang',$data);
}
public function updates_barang(Request $request)
{
$id_barang = $request->id;
if(!empty($request->file('image_barang'))){
if(!$request->validate([
'image_barang' => 'mimes:png,jpg,jpeg|max:2048',
])){
return redirect('barang')->with('error', 'Pastikan File Berekstensi PNG,JPG,JPEG ..');
}
$file = $request->file('image_barang');
$fileName = 'barang-'.time().'.'.$file->extension();
$file->move(public_path('upload_image'), $fileName);
$data_update = array(
'jenis_barang_id'=>$request->jenis_barang,
'satuan_id'=>$request->satuan_barang,
'jumlah_barang'=>$request->jumlah,
'lokasi'=>$request->lokasi,
'tanggal_masuk'=>$request->tanggal_masuk,
'keterangan'=>$request->keterangan,
'image'=>$fileName,
'kodebarang'=>$request->kode_barang,
'kategori_simak_id'=>$request->kategori_simak,
'harga'=>$request->harga,
'nup'=>$request->nup,
);
$insert = DB::table('tbl_barang')->where('id',$id_barang)->update($data_update);
if($insert){
return redirect('barang')->with('sukses', 'Data Barang Berhasil di Update ..');
}else{
return redirect('barang')->with('error', 'Data Barang Gagal di Update ..');
}
}else{
$data_update = array(
'jenis_barang_id'=>$request->jenis_barang,
'satuan_id'=>$request->satuan_barang,
'jumlah_barang'=>$request->jumlah,
'lokasi'=>$request->lokasi,
'tanggal_masuk'=>$request->tanggal_masuk,
'keterangan'=>$request->keterangan,
'kodebarang'=>$request->kode_barang,
'kategori_simak_id'=>$request->kategori_simak,
'harga'=>$request->harga,
'nup'=>$request->nup,
);
$update = DB::table('tbl_barang')->where('id',$id_barang)->update($data_update);
if($update){
return redirect('barang')->with('sukses', 'Data Barang Berhasil di Update ..');
}else{
return redirect('barang')->with('error', 'Data Barang Gagal di Update ..');
}
}
}
public function barang_keluar(Request $request)
{
$char = 'TRX';
$transaksi_id = $char . sprintf("%03s", time());
// dd($transaksi_id);
if($request->jenis_keluar == 1){
if(!$request->validate([
'file_barang' => 'required|mimes:pdf,xlx,csv|max:2048',
])){
return redirect('barang')->with('error', 'Pastikan File Berekstensi PDF,XLX,CSV ..');
}
$file = $request->file('file_barang');
$fileName = $request->pengguna.'-'.time().'.'.$file->extension();
if($file->move(public_path('upload_pdf'), $fileName)){
$data_barang_pinjam = array(
'barang_id'=>$request->id_barang,
'pengguna_id'=>$request->pengguna,
'jumlah_keluar'=>$request->jumlah_keluar,
'lokasi_keluar'=>$request->lokasi_keluar,
'tanggal_keluar'=>$request->tanggal_keluar,
'keterangan_keluar'=>$request->keterangan_keluar,
'transaksi_id'=>$transaksi_id,
'file_barang'=>$fileName,
'jenis_keluar'=>'pinjam'
);
$insert = DB::table('tbl_barang_keluar')->insert($data_barang_pinjam);
if($insert){
return redirect('barang')->with('sukses', 'Data Barang Berhasil di Keluarkan ..');
}else{
return redirect('barang')->with('error', 'Data Barang Gagal di keluarkan ..');
}
}else{
return redirect('barang')->with('error', 'Data File Gagal di Upload ..');
}
}else if($request->jenis_keluar == 2){
$data_barang_rusak = array(
'barang_id'=>$request->id_barang,
'jumlah_keluar'=>$request->jumlah_keluar,
'lokasi_keluar'=>$request->lokasi_keluar,
'tanggal_keluar'=>$request->tanggal_keluar,
'keterangan_keluar'=>$request->keterangan_keluar,
'transaksi_id'=>$transaksi_id,
'jenis_keluar'=>'rusak'
);
$insert_rusak = DB::table('tbl_barang_keluar')->insert($data_barang_rusak);
if($insert_rusak){
return redirect('barang')->with('sukses', 'Data Barang Berhasil di Keluarkan ..');
}else{
return redirect('barang')->with('error', 'Data Barang Gagal di keluarkan ..');
}
}
}
}