191 lines
6.5 KiB
PHP
191 lines
6.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Http\Controllers;
|
||
|
|
||
|
use App\gugusDatatable;
|
||
|
use App\createDatatable;
|
||
|
use Illuminate\Support\Facades\DB;
|
||
|
use Illuminate\Http\Request;
|
||
|
use Illuminate\Support\Facades\Session;
|
||
|
|
||
|
class stockBarang extends Controller
|
||
|
{
|
||
|
private $table1 = 'stock_barang';
|
||
|
|
||
|
public function show()
|
||
|
{
|
||
|
// table create
|
||
|
$datatabel = new createDatatable;
|
||
|
$datatabel->location('toko/stock-barang/data');
|
||
|
$datatabel->table_name('tableku');
|
||
|
$datatabel->create_row(['no', 'id barang', 'nama barang','harga barang', 'total barang', 'tanggal beli', 'action']);
|
||
|
$datatabel->order_set('0,3,4,5,6');
|
||
|
$show = $datatabel->create();
|
||
|
return view('toko.stock_barang.index', ['datatable'=> $show]);
|
||
|
}
|
||
|
|
||
|
public function stockBarang($action = 'show', $keyword = '')
|
||
|
{
|
||
|
if ($action == "show") {
|
||
|
|
||
|
if (isset($_POST['order'])): $setorder = $_POST['order']; else: $setorder = ''; endif;
|
||
|
|
||
|
$datatable = new gugusDatatable;
|
||
|
$datatable->datatable(
|
||
|
[
|
||
|
"table" => $this->table1,
|
||
|
"select" => [
|
||
|
$this->table1 => ['*'],
|
||
|
'akun' => ['nama_akun']
|
||
|
],
|
||
|
'leftJoin' => [
|
||
|
'akun' => [$this->table1.'.id_barang', '=', 'akun.id_akun']
|
||
|
]
|
||
|
,'where' => [
|
||
|
[$this->table1.'.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']]
|
||
|
,['akun.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']]
|
||
|
],
|
||
|
'limit' => [
|
||
|
'start' => gugusDatatable::post('start'),
|
||
|
'end' => gugusDatatable::post('length')
|
||
|
],
|
||
|
'search' => [
|
||
|
'value' => gugusDatatable::search(),
|
||
|
'row' => [
|
||
|
$this->table1.'.id_barang'
|
||
|
,'akun.nama_akun'
|
||
|
,$this->table1.'.harga_barang'
|
||
|
,$this->table1.'.total_barang'
|
||
|
,$this->table1.'.tanggal_beli'
|
||
|
]
|
||
|
],
|
||
|
'table-draw' => gugusDatatable::post('draw'),
|
||
|
'table-show' => [
|
||
|
'key' => 'id',
|
||
|
'data' => [
|
||
|
'id_barang'
|
||
|
,'nama_akun'
|
||
|
,'harga_barang'
|
||
|
,'total_barang'
|
||
|
,'tanggal_beli'
|
||
|
]
|
||
|
],
|
||
|
"action" => "standart",
|
||
|
'order' => [
|
||
|
'order-default' => [$this->table1.'.id_barang', 'ASC'],
|
||
|
'order-data' => $setorder,
|
||
|
'order-option' => [
|
||
|
"1" => $this->table1.".id_barang",
|
||
|
"2" => "akun.nama_akun",
|
||
|
],
|
||
|
],
|
||
|
]
|
||
|
);
|
||
|
$datatable->table_show();
|
||
|
}elseif ($action == "update") {
|
||
|
$dataedit = DB::table($this->table1)->where('id', '=', $keyword)->get()[0];
|
||
|
return view("toko.stock_barang.update", ['data'=> $dataedit]);
|
||
|
}elseif ($action == "delete") {
|
||
|
$dataIni = DB::table($this->table1)->where([
|
||
|
["id", "=", $_POST['id']]
|
||
|
,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']]
|
||
|
])->get()[0];
|
||
|
$total_barang = $dataIni->total_barang;
|
||
|
$id_barang = $dataIni->id_barang;
|
||
|
|
||
|
$dataAkun = DB::table("akun")->where([
|
||
|
["id_akun", "=", $id_barang]
|
||
|
,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']]
|
||
|
]);
|
||
|
|
||
|
$total_stock = $dataAkun->get()[0]->total_stock;
|
||
|
|
||
|
$total_stock -= $total_barang;
|
||
|
|
||
|
$update = $dataAkun->update(
|
||
|
[
|
||
|
'total_stock' => $total_stock
|
||
|
]
|
||
|
);
|
||
|
|
||
|
if ($update) {
|
||
|
$dataedit = DB::table($this->table1)->where('id', '=', $_POST['id'])->delete();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function simpan(){
|
||
|
DB::table($this->table1)->insert([
|
||
|
'id_barang' => $_POST['id_barang']
|
||
|
,'harga_satuan' => $_POST['harga_satuan']
|
||
|
,'harga_barang' => $_POST['harga_barang']
|
||
|
,'total_barang' => $_POST['total_barang']
|
||
|
,'tanggal_beli' => $_POST['tanggal_beli']
|
||
|
,'perusahaan' => Session::get("toko-user")['nama_perusahaan']
|
||
|
,'created_at' => date("Y-m-d H:i:s")
|
||
|
]);
|
||
|
|
||
|
$dataAkun = DB::table("akun")->where([
|
||
|
["id_akun", "=", $_POST['id_barang']]
|
||
|
,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']]
|
||
|
]);
|
||
|
|
||
|
$total_stock = $dataAkun->get()[0]->total_stock;
|
||
|
|
||
|
$total_stock += $_POST['total_barang'];
|
||
|
|
||
|
$update = $dataAkun->update(
|
||
|
[
|
||
|
'total_stock' => $total_stock
|
||
|
]
|
||
|
);
|
||
|
|
||
|
if ($update) {
|
||
|
return redirect('toko/stock-barang');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function update()
|
||
|
{
|
||
|
|
||
|
$total_barang_lama = DB::table($this->table1)->where([
|
||
|
["id", "=", $_POST['id']]
|
||
|
,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']]
|
||
|
])->get()[0]->total_barang;
|
||
|
|
||
|
|
||
|
DB::table($this->table1)
|
||
|
->where('id', '=', $_POST['id'])
|
||
|
->update(
|
||
|
[
|
||
|
'id_barang' => $_POST['id_barang']
|
||
|
,'harga_satuan' => $_POST['harga_satuan']
|
||
|
,'harga_barang' => $_POST['harga_barang']
|
||
|
,'total_barang' => $_POST['total_barang']
|
||
|
,'tanggal_beli' => $_POST['tanggal_beli']
|
||
|
, 'perusahaan' => Session::get("toko-user")['nama_perusahaan']
|
||
|
, 'updated_at' => date("Y-m-d H:i:s")
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$dataAkun = DB::table("akun")->where([
|
||
|
["id_akun", "=", $_POST['id_barang']]
|
||
|
,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']]
|
||
|
]);
|
||
|
|
||
|
$total_stock = $dataAkun->get()[0]->total_stock;
|
||
|
|
||
|
$total_stock -= $total_barang_lama;
|
||
|
|
||
|
$total_stock += $_POST['total_barang'];
|
||
|
|
||
|
$update = $dataAkun->update(
|
||
|
[
|
||
|
'total_stock' => $total_stock
|
||
|
]
|
||
|
);
|
||
|
|
||
|
return redirect('toko/stock-barang');
|
||
|
}
|
||
|
}
|