Siopas Inventory PETI for ISTW Website
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.

109 lines
3.8 KiB

<?php
namespace App\Http\Controllers\API\v1\PeminjamanApi;
use Illuminate\Http\Request;
use App\Helpers\ResponseFormatter;
use App\Http\Controllers\Controller;
use App\Models\asset_status;
use App\Models\BarangMasuk;
class PeminjamanApiController extends Controller
{
public function index()
{
$peminjaman = \App\Models\asset_status::with([
'peti.customer:id,name,code_customer,lot_no,address',
// 'peti.customer',
'peti.tipe_peti:id,type,size_peti,description',
'warehouse',
'warehouseEnter'
])->get();
// Menghapus atribut yang terkait dengan "enter"
foreach ($peminjaman as $peminjamanItem) {
unset($peminjamanItem->enter_at);
unset($peminjamanItem->enter_pic);
unset($peminjamanItem->enter_warehouse);
unset($peminjamanItem->kondisi_peti);
}
return ResponseFormatter::success([
'message' => 'Data peminjaman berhasil diambil',
'asset_status' => $peminjaman,
]);
}
public function getWarehouseEnter()
{
$warehouse = \App\Models\m_warehouse::get();
return ResponseFormatter::success([
'message' => 'Data warehouse berhasil diambil',
'warehouse' => $warehouse,
]);
}
public function show($id)
{
$peminjaman = asset_status::with(['peti.customer', 'peti.tipe_peti', 'warehouse'])->find($id);
return ResponseFormatter::success([
'message' => 'Data peminjaman berhasil diambil ID',
'asset_status' => $peminjaman
]);
}
public function store(Request $request)
{
$mobile_id = $request->input('mobile_id');
$peti_id = $request->input('peti_id');
$customer_id = $request->input('customer_id');
$warehouse_id = $request->input('warehouse_id');
$exit_at = $request->input('exit_at');
$exit_pic = $request->input('exit_pic');
$exit_warehouse = $request->input('exit_warehouse');
$est_pengembalian = $request->input('est_pengembalian');
// $status = $request->input('status');
$created_by = $request->input('created_by');
$created_at = $request->input('created_at');
$existingRecord = asset_status::where('mobile_id', $mobile_id)
->where('peti_id', $peti_id)
->first();
if ($existingRecord) {
$existingRecord->exit_at = $exit_at;
$existingRecord->exit_pic = $exit_pic;
$existingRecord->exit_warehouse = $exit_warehouse;
$existingRecord->est_pengembalian = $est_pengembalian;
// $existingRecord->status = $status;
$existingRecord->created_by = $created_by;
$existingRecord->created_at = $created_at;
$existingRecord->save();
return ResponseFormatter::success([
'message' => 'Data peminjaman berhasil ditambahkan',
'peminjam' => $existingRecord
]);
} else {
$newRecord = new asset_status;
$newRecord->mobile_id = $mobile_id;
$newRecord->peti_id = $peti_id;
$newRecord->customer_id = $customer_id;
$newRecord->warehouse_id = $warehouse_id;
$newRecord->exit_at = $exit_at;
$newRecord->exit_pic = $exit_pic;
$newRecord->exit_warehouse = $exit_warehouse;
$newRecord->est_pengembalian = $est_pengembalian;
// $newRecord->status = $status;
$newRecord->created_by = $created_by;
$newRecord->created_at = $created_at;
$newRecord->save();
return ResponseFormatter::success([
'message' => 'Data peminjaman berhasil ditambahkan',
'peminjam' => $newRecord
]);
}
}
}