109 lines
3.1 KiB
PHP
109 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\MasterData;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Supplier;
|
|
use App\Models\Kategori;
|
|
use App\Models\Penjualan;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class SupplierController extends Controller
|
|
{
|
|
|
|
public function index(Request $request)
|
|
{
|
|
$data = [
|
|
'title' => 'Data Supplier',
|
|
'supplier' => Supplier::all()
|
|
];
|
|
|
|
if (!$request->ajax() && $request->isMethod('get')) {
|
|
return view('page.dashboard.supplier.index', compact('data'));
|
|
}
|
|
|
|
if ($request->ajax() && $request->isMethod('get')) {
|
|
$perPage = $request->input('per_page', 10);
|
|
$query = Supplier::query();
|
|
|
|
$searchTerm = $request->input('search');
|
|
|
|
if ($searchTerm) {
|
|
$query->where(function($q) use ($searchTerm) {
|
|
$q->where('nama_supplier', 'like', "%$searchTerm%")
|
|
->orWhere('alamat', 'like', "%$searchTerm%")
|
|
->orWhere('telepon', 'like', "%$searchTerm%");
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
$data = $query->paginate($perPage);
|
|
|
|
if ($data->isEmpty()) {
|
|
return response()->json(['message' => 'Tidak ada data!'], 404);
|
|
}
|
|
|
|
return response()->json([
|
|
'message' => $data,
|
|
|
|
], 200);
|
|
}
|
|
|
|
|
|
$create = Supplier::create([
|
|
'nama_supplier' => $request->nama_supplier,
|
|
'alamat' => $request->alamat,
|
|
'telepon' => $request->telepon
|
|
]);
|
|
|
|
if ($create) {
|
|
return response()->json(['message' => 'Berhasil menambah data!'], 200);
|
|
} else {
|
|
return response()->json(['message' => 'Gagal menambah data!'], 404);
|
|
}
|
|
}
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
if ($request->ajax()) {
|
|
$data = Supplier::findOrFail($id);
|
|
|
|
if (!$data) {
|
|
return response()->json(['message' => 'Data tidak ditemukan!'], 404);
|
|
}
|
|
|
|
if ($request->isMethod('get')) {
|
|
return response()->json(['message' => $data], 200);
|
|
}
|
|
|
|
$data->update($request->only(['nama_supplier', 'alamat','telepon', 'updated_at']));
|
|
$data->save();
|
|
|
|
|
|
return response()->json(['message' => 'Berhasil update data!'], 200);
|
|
}
|
|
}
|
|
|
|
public function delete(Request $request, $id)
|
|
{
|
|
if ($request->ajax()) {
|
|
$data = Supplier::findOrFail($id);
|
|
if ($data->delete()) {
|
|
return response()->json(['message' => 'Berhasil hapus data!'], 200);
|
|
} else {
|
|
return response()->json(['message' => 'Gagal hapus data!'], 404);
|
|
}
|
|
}
|
|
}
|
|
|
|
// public function findBarcode($kode)
|
|
// {
|
|
// return response()->json(Supplier::where('kode', $kode)->first());
|
|
// }
|
|
|
|
}
|