<?php
namespace App\Http\Controllers;
use App\Models\PembayaranService;
use App\Models\Pengguna;
use App\Models\Service;
use App\Models\Pesan;
use App\Models\PesanDefault;
use App\Models\Profil;
use Barryvdh\DomPDF\Facade\Pdf;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class PesanController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index(): Response
{
//
}
/**
* Show the form for creating a new resource.
*/
public function create(): Response
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request): RedirectResponse
{
//
}
/**
* Display the specified resource.
*/
public function show(string $id): Response
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id): Response
{
$service = Service::with('pelanggan','pengguna')->find($id);
$pesans = Pesan::where("service_id", $id)->get();
$pesanDefault = PesanDefault::where('menu', 'service')->latest()->first();
$default = @$pesanDefault->isi ?? null;
if ($default == null) {
if ($service->status == 'pending') {
$default = "Terimakasih kak { nama_pelanggan } , Berikut kami lampirkan nota servis hp kakak, mohon di simpan ya kak 🙏🏻😊";
} else {
$default = "Halo kak { nama_pelanggan } Hp kakak sudah selesai kami cek, berikut rincian detail kerusakan dan biaya perbaikan nya:
Kerusakan: { kerusakan }
Harga perbaikan:RP. { grand_total }
Apakah kakak bersedia di lanjut perbaikan?
";
}
}
// if ($datas->status == 'pending') {
// $isi_pesan = "Terimakasih kak " . $datas->pelanggan->nama_pelanggan .
// " , Berikut kami lampirkan nota servis hp kakak, mohon di simpan ya kak 🙏🏻😊";
// } else {
// $isi_pesan = "Halo kak " . $datas->pelanggan->nama_pelanggan . "
// Hp kakak sudah selesai kami cek, berikut rincian detail kerusakan dan biaya perbaikan nya:
// Kerusakan:" . $datas->kerusakan . "
// Harga perbaikan:RP. " . number_format($datas->grandTotal) . "
// Apakah kakak bersedia di lanjut perbaikan?
// ";
// $isi_pesan_tidak_deal = "Halo kak " . $datas->pelanggan->nama_pelanggan . "
// Terimaksih atas konfirmasinya. Hp Kakak bisa diambil kembali ke konter Anggur Cell dg memberitahukan chat ini ke karyawan kami ya kak.
// Terimakasih 😊
// ";
// }
$placeholders = [
'{ service_id }',
'{ nama_pelanggan }',
'{ status }',
'{ biaya }',
'{ uang_muka }',
'{ grand_total }',
'{ tipe_hp }',
'{ kerusakan }',
'{ kasir }'
];
$replacements = [
$service->no_service,
@$service->pelanggan->nama_pelanggan ?? "-",
ucwords(str_replace('_', ' ', $service->status)),
$service->biaya,
$service->uang_bayar,
number_format($service->grand_total),
$service->merk . ' (' . $service->tipe . ')',
$service->kerusakan,
@$service->pengguna->nama_pengguna ?? "-"
];
$isi_pesan = str_replace($placeholders, $replacements, $default);
$data = [
"datas" => $service,
"pesans" => $pesans,
"isi_pesan" => $isi_pesan,
"default" => $default
];
return response()->view("pesan.edit", $data);
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
DB::beginTransaction();
try {
$service = Service::find($id);
$isi_pesan = $request->isi_pesan;
$pesan = Pesan::create([
"isi_pesan" => $isi_pesan,
"service_id" => $id,
]);
if ($pesan) {
$service->update(['status_pesan' => 1]);
// dd($service->pelanggan->telp_pelanggan);
\Helper::sendWa($service->pelanggan->telp_pelanggan, $pesan->isi_pesan);
// nota
$sales = Pengguna::where('id', $service->sale_id)->first();
$pembayaran_service = PembayaranService::where('service_id', $id)->latest()->first();
$profil = Profil::first();
$data = [
"datas" => $service,
"sales" => $sales,
"pembayaran_service" => $pembayaran_service,
"profil" => $profil
];
$pdf = Pdf::loadView('service.nota', $data);
$fileName = 'NotaPegangan-' . $service->pelanggan->telp_pelanggan . date('Y') . '' . date('m') . '' . date('d') . '' . date('his') . '.pdf';
$pdf->setPaper('A4', 'landscape');
$pdf->render();
$path = public_path('pdf/Nota/' . $fileName);
$pdf->save($path);
// return $pdf->stream($path, array("Attachment" => false));
$pdfUrl = url('pdf/Nota/' . $fileName);
$pesan_pdf = \Helper::sendNotaPDF($service->pelanggan->telp_pelanggan, $pdfUrl);
if ($pesan_pdf) {
File::delete($path);
DB::commit();
return redirect()->back()->with('success', 'Pesan berhasil terkirim');
} else {
return redirect()->back()->with('error', 'Pesan nota Service gagal ditambah');
}
}
DB::commit();
return redirect()->back()->with('success', 'Pesan berhasil Dikirim');
} catch (\Throwable $th) {
DB::rollback();
return redirect()->route('service.index')->with('error', 'Pesan gagal Dikirim');
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id): RedirectResponse
{
//
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]