Finalize value on all-report
This commit is contained in:
@@ -35,15 +35,15 @@ public function index(Request $request)
|
|||||||
|
|
||||||
public function getMember(Request $request)
|
public function getMember(Request $request)
|
||||||
{
|
{
|
||||||
Log::info(json_encode("nopol : " . $request->nopol));
|
// Log::info(json_encode("nopol : " . $request->nopol));
|
||||||
Log::info(json_encode("veh : " . $request->vehicle));
|
// Log::info(json_encode("veh : " . $request->vehicle));
|
||||||
Log::info(json_encode("dept : " . $request->depart));
|
// Log::info(json_encode("dept : " . $request->depart));
|
||||||
Log::info(json_encode("mem : " . $request->member));
|
// Log::info(json_encode("mem : " . $request->member));
|
||||||
Log::info(json_encode("trans : " . $request->notrans));
|
// Log::info(json_encode("trans : " . $request->notrans));
|
||||||
Log::info(json_encode("isactive : " . gettype($request->isactive)));
|
// Log::info(json_encode("isactive : " . gettype($request->isactive)));
|
||||||
if ($request->ajax()) {
|
if ($request->ajax()) {
|
||||||
$dataStiker = DB::table("transaksi_stiker as ts")
|
$dataStiker = DB::table("transaksi_stiker as ts")
|
||||||
->leftjoin("detail_transaksi_stiker as dts", "dts.notrans", "=", "ts.notrans")
|
->leftJoin("detail_transaksi_stiker as dts", "dts.notrans", "=", "ts.notrans")
|
||||||
->leftJoin("card_member as cm", "cm.notrans", "=", "ts.no_id")
|
->leftJoin("card_member as cm", "cm.notrans", "=", "ts.no_id")
|
||||||
->leftJoin("jenis_langganan as jl", "jl.id", "=", "ts.jenis_langganan")
|
->leftJoin("jenis_langganan as jl", "jl.id", "=", "ts.jenis_langganan")
|
||||||
->leftJoin("stasiunkerja as sk", "sk.kode", "=", "ts.unit_kerja")
|
->leftJoin("stasiunkerja as sk", "sk.kode", "=", "ts.unit_kerja")
|
||||||
@@ -89,7 +89,7 @@ public function getMember(Request $request)
|
|||||||
$dataStiker = $dataStiker->whereRaw("now() between ts.awal and ts.akhir");
|
$dataStiker = $dataStiker->whereRaw("now() between ts.awal and ts.akhir");
|
||||||
}
|
}
|
||||||
|
|
||||||
Log::info($dataStiker->toSql());
|
// Log::info($dataStiker->toSql());
|
||||||
|
|
||||||
$dataStiker = $dataStiker->get();
|
$dataStiker = $dataStiker->get();
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+94
-59
@@ -174,13 +174,13 @@ public function vehicleReport(Request $request)
|
|||||||
// ? 'tp.waktu_keluar'
|
// ? 'tp.waktu_keluar'
|
||||||
// : 'tp.pklogin';
|
// : 'tp.pklogin';
|
||||||
if ($harian == 1) {
|
if ($harian == 1) {
|
||||||
// $dateColumn = ['tp.waktu_masuk', 'tp.waktu_keluar'];
|
|
||||||
$isReport = "harian";
|
$isReport = "harian";
|
||||||
$dateColumn = ["tp.waktu_keluar"];
|
// $dateColumn = ["tp.waktu_keluar"];
|
||||||
|
$dateColumn = ["tp.waktu_masuk", "tp.waktu_keluar"];
|
||||||
} else {
|
} else {
|
||||||
// $dateColumn = ['tp.pmlogin', 'tp.pklogin'];
|
|
||||||
$isReport = "shift";
|
$isReport = "shift";
|
||||||
$dateColumn = ["tp.pklogin"];
|
// $dateColumn = ["tp.pklogin"];
|
||||||
|
$dateColumn = ["tp.pmlogin", "tp.pklogin"];
|
||||||
}
|
}
|
||||||
|
|
||||||
$transactions = DB::table("transaksi_parkir as tp")
|
$transactions = DB::table("transaksi_parkir as tp")
|
||||||
@@ -230,11 +230,26 @@ public function vehicleReport(Request $request)
|
|||||||
$tunai = $transactions
|
$tunai = $transactions
|
||||||
->sortBy("id_kendaraan")
|
->sortBy("id_kendaraan")
|
||||||
->groupBy("id_kendaraan")
|
->groupBy("id_kendaraan")
|
||||||
->map(function ($items, $idKendaraan) {
|
->map(function ($items, $idKendaraan) use ($startDate, $endDate) {
|
||||||
|
$start = $startDate . " 00:00:00";
|
||||||
|
$end = $endDate . " 00:00:00";
|
||||||
// ======================
|
// ======================
|
||||||
// PISAH MASUK & KELUAR
|
// PISAH MASUK & KELUAR
|
||||||
// ======================
|
// ======================
|
||||||
// $masuk = $items->where('status', 1);
|
// $masuk = $items;
|
||||||
|
$masuk = $items->filter(fn($row) => in_array(data_get($row, "cara_bayar"), [null, 0, "0"], true));
|
||||||
|
|
||||||
|
// $masuk = $items->where("status", 1);
|
||||||
|
// ->whereBetween("waktu_masuk", [$startDate . " 00:00:00", $endDate . " 23:59:59"]);
|
||||||
|
// ->filter(function ($item) use ($start, $end) {
|
||||||
|
// $waktuMasuk = $item->waktu_masuk;
|
||||||
|
// $pmLogin = $item->pmlogin ?? null;
|
||||||
|
|
||||||
|
// $inWaktuMasuk = $waktuMasuk && $waktuMasuk >= $start && $waktuMasuk <= $end;
|
||||||
|
// $inPmMasuk = $pmLogin && $pmLogin >= $start && $pmLogin <= $end;
|
||||||
|
|
||||||
|
// return $inWaktuMasuk || $inPmMasuk;
|
||||||
|
// });
|
||||||
// $keluar = $items->where('status', 0);
|
// $keluar = $items->where('status', 0);
|
||||||
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
||||||
// $tunai = $keluar->where('cara_bayar', '!=', 3);
|
// $tunai = $keluar->where('cara_bayar', '!=', 3);
|
||||||
@@ -243,8 +258,8 @@ public function vehicleReport(Request $request)
|
|||||||
// ======================
|
// ======================
|
||||||
// MASUK
|
// MASUK
|
||||||
// ======================
|
// ======================
|
||||||
// $masukCasual = $masuk->where('status_transaksi', '0');
|
$masukCasual = $masuk->where("status_transaksi", "0");
|
||||||
// $masukMember = $masuk->where('status_transaksi', '3');
|
$masukMember = $masuk->where("status_transaksi", "3");
|
||||||
|
|
||||||
// ======================
|
// ======================
|
||||||
// KELUAR
|
// KELUAR
|
||||||
@@ -281,16 +296,16 @@ public function vehicleReport(Request $request)
|
|||||||
"total" => $items->count(),
|
"total" => $items->count(),
|
||||||
"tunaiOut" => $tunai->count(),
|
"tunaiOut" => $tunai->count(),
|
||||||
// ========= MASUK =========
|
// ========= MASUK =========
|
||||||
// 'masuk' => [
|
"masuk" => [
|
||||||
// 'casual' => [
|
"casual" => [
|
||||||
// 'jumlah' => $masukCasual->count(),
|
"jumlah" => $masuk->count(),
|
||||||
// 'income' => $masukCasual->sum('bayar_masuk'),
|
"income" => $masukCasual->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// 'member' => [
|
"member" => [
|
||||||
// 'jumlah' => $masukMember->count(),
|
"jumlah" => $masukMember->count(),
|
||||||
// 'income' => $masukMember->sum('bayar_masuk'),
|
"income" => $masukMember->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// ],
|
],
|
||||||
|
|
||||||
// ========= KELUAR =========
|
// ========= KELUAR =========
|
||||||
"keluar" => [
|
"keluar" => [
|
||||||
@@ -327,7 +342,8 @@ public function vehicleReport(Request $request)
|
|||||||
// ======================
|
// ======================
|
||||||
// PISAH MASUK & KELUAR
|
// PISAH MASUK & KELUAR
|
||||||
// ======================
|
// ======================
|
||||||
// $masuk = $items->where('status', 1);
|
// $masuk = $items->where("status", 1);
|
||||||
|
$masuk = $items->filter(fn($row) => in_array(data_get($row, "cara_bayar"), [null, 0, "0"], true));
|
||||||
// $keluar = $items->where('status', 0);
|
// $keluar = $items->where('status', 0);
|
||||||
// $nonTunai = $keluar->where('cara_bayar', 3);
|
// $nonTunai = $keluar->where('cara_bayar', 3);
|
||||||
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
||||||
@@ -337,8 +353,8 @@ public function vehicleReport(Request $request)
|
|||||||
// ======================
|
// ======================
|
||||||
// MASUK
|
// MASUK
|
||||||
// ======================
|
// ======================
|
||||||
// $masukCasual = $masuk->where('status_transaksi', '0');
|
$masukCasual = $masuk;
|
||||||
// $masukMember = $masuk->where('status_transaksi', '3');
|
$masukMember = $masuk->where("status_transaksi", "3");
|
||||||
|
|
||||||
// ======================
|
// ======================
|
||||||
// KELUAR
|
// KELUAR
|
||||||
@@ -370,16 +386,16 @@ public function vehicleReport(Request $request)
|
|||||||
"nonTunaiOut" => $nonTunai->count(),
|
"nonTunaiOut" => $nonTunai->count(),
|
||||||
|
|
||||||
// ========= MASUK =========
|
// ========= MASUK =========
|
||||||
// 'masuk' => [
|
"masuk" => [
|
||||||
// 'casual' => [
|
"casual" => [
|
||||||
// 'jumlah' => $masukCasual->count(),
|
"jumlah" => $masuk->count(),
|
||||||
// 'income' => $masukCasual->sum('bayar_masuk'),
|
"income" => $masukCasual->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// 'member' => [
|
"member" => [
|
||||||
// 'jumlah' => $masukMember->count(),
|
"jumlah" => $masukMember->count(),
|
||||||
// 'income' => $masukMember->sum('bayar_masuk'),
|
"income" => $masukMember->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// ],
|
],
|
||||||
|
|
||||||
// ========= KELUAR =========
|
// ========= KELUAR =========
|
||||||
"keluar" => [
|
"keluar" => [
|
||||||
@@ -489,10 +505,10 @@ public function reportOfficer(Request $request)
|
|||||||
// ? 'tp.waktu_keluar'
|
// ? 'tp.waktu_keluar'
|
||||||
// : 'tp.pklogin';
|
// : 'tp.pklogin';
|
||||||
if ($harian == 1) {
|
if ($harian == 1) {
|
||||||
// $dateColumn = ['tp.waktu_masuk', 'tp.waktu_keluar'];
|
$dateColumn = ["tp.waktu_masuk", "tp.waktu_keluar"];
|
||||||
$dateColumn = ["tp.waktu_keluar"];
|
$dateColumn = ["tp.waktu_keluar"];
|
||||||
} else {
|
} else {
|
||||||
// $dateColumn = ['tp.pmlogin', 'tp.pklogin'];
|
$dateColumn = ["tp.pmlogin", "tp.pklogin"];
|
||||||
$dateColumn = ["tp.pklogin"];
|
$dateColumn = ["tp.pklogin"];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -508,6 +524,8 @@ public function reportOfficer(Request $request)
|
|||||||
// $q->whereRaw('DATE(tp.waktu_masuk) = ?', [$selectDate])
|
// $q->whereRaw('DATE(tp.waktu_masuk) = ?', [$selectDate])
|
||||||
// ->orWhereRaw('DATE(tp.waktu_keluar) = ?', [$selectDate]);
|
// ->orWhereRaw('DATE(tp.waktu_keluar) = ?', [$selectDate]);
|
||||||
})
|
})
|
||||||
|
// ->whereNull("id_op_masuk")
|
||||||
|
// ->where("manual", 1)
|
||||||
// ->whereRaw("DATE($dateColumn) = ?", [$dateNow])
|
// ->whereRaw("DATE($dateColumn) = ?", [$dateNow])
|
||||||
// ->whereBetween($dateColumn, [$startDate, $endDate])
|
// ->whereBetween($dateColumn, [$startDate, $endDate])
|
||||||
->select(
|
->select(
|
||||||
@@ -542,17 +560,17 @@ public function reportOfficer(Request $request)
|
|||||||
Log::info("Rekap petugas dimulai");
|
Log::info("Rekap petugas dimulai");
|
||||||
|
|
||||||
$tunai = $transactions
|
$tunai = $transactions
|
||||||
->sortBy("id_op_keluar")
|
->sortBy("petugas")
|
||||||
->groupBy("id_op_keluar")
|
->groupBy("id_op_keluar")
|
||||||
->map(function ($items, $id_op_keluar) {
|
->map(function ($items, $id_op_keluar) {
|
||||||
// ======================
|
// ======================
|
||||||
// PISAH MASUK & KELUAR
|
// PISAH MASUK & KELUAR
|
||||||
// ======================
|
// ======================
|
||||||
// $masuk = $items->where('status', 1);
|
// $masuk = $items->where('status', 1);
|
||||||
|
$masuk = $items->filter(fn($row) => in_array(data_get($row, "cara_bayar"), [null, 0, "0"], true));
|
||||||
// $keluar = $items->where('status', 0);
|
// $keluar = $items->where('status', 0);
|
||||||
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
||||||
// $tunai = $keluar->where('cara_bayar', '!=', 3);
|
// $tunai = $keluar->where('cara_bayar', '!=', 3);
|
||||||
$tunai = $keluar->filter(fn($row) => in_array(data_get($row, "cara_bayar"), [null, 0, "0"], true));
|
|
||||||
|
|
||||||
// ======================
|
// ======================
|
||||||
// MASUK
|
// MASUK
|
||||||
@@ -566,6 +584,8 @@ public function reportOfficer(Request $request)
|
|||||||
// $keluarCasual = $tunai->where('status_transaksi', '0');
|
// $keluarCasual = $tunai->where('status_transaksi', '0');
|
||||||
// $keluarMember = $tunai->where('status_transaksi', '3');
|
// $keluarMember = $tunai->where('status_transaksi', '3');
|
||||||
// $keluarLost = $tunai->where('status_transaksi', '32');
|
// $keluarLost = $tunai->where('status_transaksi', '32');
|
||||||
|
$tunai = $keluar->filter(fn($row) => in_array(data_get($row, "cara_bayar"), [null, 0, "0"], true));
|
||||||
|
|
||||||
$keluarCasual = $tunai->filter(
|
$keluarCasual = $tunai->filter(
|
||||||
fn($r) => (string) data_get($r, "status_transaksi") === "0" && data_get($r, "id_op_masuk") !== null,
|
fn($r) => (string) data_get($r, "status_transaksi") === "0" && data_get($r, "id_op_masuk") !== null,
|
||||||
);
|
);
|
||||||
@@ -594,19 +614,19 @@ public function reportOfficer(Request $request)
|
|||||||
return [
|
return [
|
||||||
"id_petugas" => $id_op_keluar,
|
"id_petugas" => $id_op_keluar,
|
||||||
"petugas" => $items->first()->petugas,
|
"petugas" => $items->first()->petugas,
|
||||||
"total" => $items->count(),
|
"total" => 0,
|
||||||
"tunaiOut" => $tunai->count(),
|
"tunaiOut" => $tunai->count(),
|
||||||
// ========= MASUK =========
|
// ========= MASUK =========
|
||||||
// 'masuk' => [
|
"masuk" => [
|
||||||
// 'casual' => [
|
"casual" => [
|
||||||
// 'jumlah' => $masukCasual->count(),
|
"jumlah" => 0,
|
||||||
// 'income' => $masukCasual->sum('bayar_masuk'),
|
"income" => $masuk->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// 'member' => [
|
// 'member' => [
|
||||||
// 'jumlah' => $masukMember->count(),
|
// 'jumlah' => $masukMember->count(),
|
||||||
// 'income' => $masukMember->sum('bayar_masuk'),
|
// 'income' => $masukMember->sum('bayar_masuk'),
|
||||||
// ],
|
// ],
|
||||||
// ],
|
],
|
||||||
|
|
||||||
// ========= KELUAR =========
|
// ========= KELUAR =========
|
||||||
"keluar" => [
|
"keluar" => [
|
||||||
@@ -644,6 +664,7 @@ public function reportOfficer(Request $request)
|
|||||||
// PISAH MASUK & KELUAR
|
// PISAH MASUK & KELUAR
|
||||||
// ======================
|
// ======================
|
||||||
// $masuk = $items->where('status', 1);
|
// $masuk = $items->where('status', 1);
|
||||||
|
$masuk = $items->filter(fn($row) => in_array(data_get($row, "cara_bayar"), [null, 0, "0"], true));
|
||||||
// $keluar = $items->where('status', 0);
|
// $keluar = $items->where('status', 0);
|
||||||
// $nonTunai = $keluar->where('cara_bayar', 3);
|
// $nonTunai = $keluar->where('cara_bayar', 3);
|
||||||
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
$keluar = $items->filter(fn($r) => (int) $r->status === 0);
|
||||||
@@ -682,20 +703,20 @@ public function reportOfficer(Request $request)
|
|||||||
return [
|
return [
|
||||||
"id_petugas" => $id_op_keluar,
|
"id_petugas" => $id_op_keluar,
|
||||||
"petugas" => $items->first()->petugas,
|
"petugas" => $items->first()->petugas,
|
||||||
"total" => $items->count(),
|
"total" => 0,
|
||||||
"nonTunaiOut" => $nonTunai->count(),
|
"nonTunaiOut" => $nonTunai->count(),
|
||||||
|
|
||||||
// ========= MASUK =========
|
// ========= MASUK =========
|
||||||
// 'masuk' => [
|
"masuk" => [
|
||||||
// 'casual' => [
|
"casual" => [
|
||||||
// 'jumlah' => $masukCasual->count(),
|
"jumlah" => 0,
|
||||||
// 'income' => $masukCasual->sum('bayar_masuk'),
|
"income" => $masuk->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// 'member' => [
|
"member" => [
|
||||||
// 'jumlah' => $masukMember->count(),
|
"jumlah" => $masuk->count(),
|
||||||
// 'income' => $masukMember->sum('bayar_masuk'),
|
"income" => $masuk->sum("bayar_masuk"),
|
||||||
// ],
|
],
|
||||||
// ],
|
],
|
||||||
|
|
||||||
// ========= KELUAR =========
|
// ========= KELUAR =========
|
||||||
"keluar" => [
|
"keluar" => [
|
||||||
@@ -794,9 +815,11 @@ public function paymentType(Request $request)
|
|||||||
Log::info("Query transaksi dimulai");
|
Log::info("Query transaksi dimulai");
|
||||||
|
|
||||||
if ($harian == 1) {
|
if ($harian == 1) {
|
||||||
$dateColumn = ["tp.waktu_keluar"];
|
// $dateColumn = ["tp.waktu_keluar"];
|
||||||
|
$dateColumn = ["tp.waktu_masuk", "tp.waktu_keluar"];
|
||||||
} else {
|
} else {
|
||||||
$dateColumn = ["tp.pklogin"];
|
// $dateColumn = ["tp.pklogin"];
|
||||||
|
$dateColumn = ["tp.pmlogin", "tp.pklogin"];
|
||||||
}
|
}
|
||||||
|
|
||||||
$transactions = DB::table("transaksi_parkir as tp")
|
$transactions = DB::table("transaksi_parkir as tp")
|
||||||
@@ -867,6 +890,12 @@ public function paymentType(Request $request)
|
|||||||
"petugas" => $items->first()->bankType,
|
"petugas" => $items->first()->bankType,
|
||||||
"total" => $items->count(),
|
"total" => $items->count(),
|
||||||
"tunaiOut" => $tunai->count(),
|
"tunaiOut" => $tunai->count(),
|
||||||
|
"masuk" => [
|
||||||
|
"casual" => [
|
||||||
|
"jumlah" => 0,
|
||||||
|
"income" => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
"keluar" => [
|
"keluar" => [
|
||||||
"casual" => [
|
"casual" => [
|
||||||
"jumlah" => $keluarCasual->count(),
|
"jumlah" => $keluarCasual->count(),
|
||||||
@@ -923,6 +952,12 @@ public function paymentType(Request $request)
|
|||||||
"petugas" => $items->first()->bankType,
|
"petugas" => $items->first()->bankType,
|
||||||
"total" => $items->count(),
|
"total" => $items->count(),
|
||||||
"nonTunaiOut" => $nonTunai->count(),
|
"nonTunaiOut" => $nonTunai->count(),
|
||||||
|
"masuk" => [
|
||||||
|
"casual" => [
|
||||||
|
"jumlah" => 0,
|
||||||
|
"income" => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
"keluar" => [
|
"keluar" => [
|
||||||
"casual" => [
|
"casual" => [
|
||||||
"jumlah" => $keluarCasual->count(),
|
"jumlah" => $keluarCasual->count(),
|
||||||
|
|||||||
Regular → Executable
+168
-67
@@ -10,91 +10,192 @@
|
|||||||
|
|
||||||
class MakeStikerServices
|
class MakeStikerServices
|
||||||
{
|
{
|
||||||
|
public function stikerCreate($request, Carbon $awal, Carbon $akhir)
|
||||||
|
{
|
||||||
|
Log::info(json_encode($sticker));
|
||||||
|
return DB::transaction(function () use ($sticker) {
|
||||||
|
// LOCK index agar aman
|
||||||
|
$index = DB::table("indexnum")->where("nama", "sticker")->lockForUpdate()->first();
|
||||||
|
$mountYearNow = Carbon::now()->format("m/Y");
|
||||||
|
|
||||||
|
$nextIndex = str_pad($index->value + 1, 4, "0", STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$seqTrans = DB::table("indexnum")->select("value")->where("nama", "sticker")->first();
|
||||||
|
$seqId = DB::table("indexnum")->select("value")->where("nama", "identitas")->first();
|
||||||
|
$notrans = $seqTrans->value . "/STK/" . $mountYearNow;
|
||||||
|
$noid = $seqId->value . "/IDT/" . $mountYearNow;
|
||||||
|
|
||||||
|
$transStiker = TransaksiStiker::where("notrans", $sticker->notrans)->first();
|
||||||
|
$detailTransStiker = DetailTransaksiStiker::where("notrans", $sticker->notrans)->first();
|
||||||
|
Log::info(json_encode($transStiker));
|
||||||
|
Log::info(json_encode($detailTransStiker));
|
||||||
|
// HEADER
|
||||||
|
|
||||||
|
try {
|
||||||
|
$dataStiker = [
|
||||||
|
"jenis_transaksi" => $dataStiker["jenis_transaksi"], // 0 = transaksi baru , 1 = perpanjangan
|
||||||
|
"notrans" => $notrans,
|
||||||
|
"no_id" => $noid,
|
||||||
|
"nama" => $dataStiker["nama"],
|
||||||
|
"alamat" => $dataStiker["address"] ?? "",
|
||||||
|
"telepon" => $dataStiker["phone"] ?? "",
|
||||||
|
"unit_kerja" => $dataStiker["depart"],
|
||||||
|
"jenis_stiker" => $dataStiker["member"],
|
||||||
|
"awal" => $awal,
|
||||||
|
"akhir" => $akhir,
|
||||||
|
"harga" => $dataStiker["harga"] ?? 0,
|
||||||
|
"keterangan" => $dataStiker["note"] ?? "",
|
||||||
|
"tanggal" => $dateNow,
|
||||||
|
"operator" => $user->nomer,
|
||||||
|
];
|
||||||
|
|
||||||
|
DB::table("transaksi_stiker")->insert($dataStiker);
|
||||||
|
// DETAIL
|
||||||
|
DB::table("detail_transaksi_stiker")->insert([
|
||||||
|
"notrans" => $notrans,
|
||||||
|
"nopol" => $detailTransStiker->nopol,
|
||||||
|
"jenis_mobil" => $detailTransStiker->jenis_mobil,
|
||||||
|
"adm" => $detailTransStiker->adm,
|
||||||
|
"kategori" => $detailTransStiker->kategori,
|
||||||
|
"jenis_member" => $detailTransStiker->jenis_member,
|
||||||
|
"akses" => $detailTransStiker->akses,
|
||||||
|
"akses_out" => $detailTransStiker->akses_out,
|
||||||
|
"status" => $detailTransStiker->status,
|
||||||
|
"merk" => $detailTransStiker->merk,
|
||||||
|
"tipe" => $detailTransStiker->tipe,
|
||||||
|
"tahun" => $detailTransStiker->tahun,
|
||||||
|
"warna" => $detailTransStiker->warna,
|
||||||
|
"keterangan" => $detailTransStiker->keterangan,
|
||||||
|
]);
|
||||||
|
|
||||||
|
DB::table("transaksi_stiker")->insert($dataStiker);
|
||||||
|
|
||||||
|
if ($dataVehicle) {
|
||||||
|
foreach ($dataVehicle as $nopol) {
|
||||||
|
$dataVehicle = [
|
||||||
|
"notrans" => $notrans,
|
||||||
|
"nopol" => $nopol["nopol"],
|
||||||
|
"jenis_mobil" => $nopol["vehicle"],
|
||||||
|
"jenis_member" => $nopol["member"],
|
||||||
|
"merk" => $nopol["merk"],
|
||||||
|
];
|
||||||
|
DB::table("detail_transaksi_stiker")->insert($dataVehicle);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($dataCard) {
|
||||||
|
foreach ($dataCard as $cardNumber) {
|
||||||
|
$dataCard = [
|
||||||
|
"notrans" => $noid,
|
||||||
|
"no_card" => $cardNumber["nocard"],
|
||||||
|
"no_urut" => $cardNumber["nourut"],
|
||||||
|
];
|
||||||
|
|
||||||
|
DB::table("card_member")->insert($dataCard);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::table("indexnum")
|
||||||
|
->where("nama", "sticker")
|
||||||
|
->update(["value" => DB::raw("lpad(to_number(value,'9999')+1)::text, 4, '0')")]);
|
||||||
|
DB::table("indexnum")
|
||||||
|
->where("nama", "identitas")
|
||||||
|
->update(["value" => DB::raw("lpad(to_number(value,'9999')+1)::text, 4, '0')")]);
|
||||||
|
$response = true;
|
||||||
|
$msg = "Data berhasil di simpan";
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$response = false;
|
||||||
|
$msg = "Gagal menyimpan data " . $e->getMessage() . $e->getLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::table("indexnum")
|
||||||
|
->where("nama", "sticker")
|
||||||
|
->update(["value" => $nextIndex]);
|
||||||
|
|
||||||
|
return $notrans;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public function stikerExtend($sticker, Carbon $awal, Carbon $akhir)
|
public function stikerExtend($sticker, Carbon $awal, Carbon $akhir)
|
||||||
{
|
{
|
||||||
Log::info(json_encode($sticker));
|
Log::info(json_encode($sticker));
|
||||||
return DB::transaction(function () use ($sticker) {
|
return DB::transaction(function () use ($sticker) {
|
||||||
|
|
||||||
// LOCK index agar aman
|
// LOCK index agar aman
|
||||||
$index = DB::table('indexnum')
|
$index = DB::table("indexnum")->where("nama", "sticker")->lockForUpdate()->first();
|
||||||
->where('nama', 'sticker')
|
|
||||||
->lockForUpdate()
|
|
||||||
->first();
|
|
||||||
|
|
||||||
$nextIndex = str_pad($index->value + 1, 4, '0', STR_PAD_LEFT);
|
$nextIndex = str_pad($index->value + 1, 4, "0", STR_PAD_LEFT);
|
||||||
|
|
||||||
// update index
|
// update index
|
||||||
DB::table('indexnum')
|
DB::table("indexnum")
|
||||||
->where('nama', 'sticker')
|
->where("nama", "sticker")
|
||||||
->update(['value' => $nextIndex]);
|
->update(["value" => $nextIndex]);
|
||||||
|
|
||||||
$notrans = sprintf(
|
$notrans = sprintf("%s-STK-%s-%s", $nextIndex, Carbon::now()->format("m"), Carbon::now()->format("Y"));
|
||||||
'%s/STK/%s/%s',
|
|
||||||
$nextIndex,
|
|
||||||
Carbon::now()->format('m'),
|
|
||||||
Carbon::now()->format('Y')
|
|
||||||
);
|
|
||||||
|
|
||||||
$transStiker = TransaksiStiker::where('notrans', $sticker->notrans)->first();
|
$transStiker = TransaksiStiker::where("notrans", $sticker->notrans)->first();
|
||||||
$detailTransStiker = DetailTransaksiStiker::where('notrans', $sticker->notrans)->first();
|
$detailTransStiker = DetailTransaksiStiker::where("notrans", $sticker->notrans)->first();
|
||||||
Log::info(json_encode($transStiker));
|
Log::info(json_encode($transStiker));
|
||||||
Log::info(json_encode($detailTransStiker));
|
Log::info(json_encode($detailTransStiker));
|
||||||
// HEADER
|
// HEADER
|
||||||
DB::table('transaksi_stiker')->insert([
|
DB::table("transaksi_stiker")->insert([
|
||||||
'notrans' => $notrans,
|
"notrans" => $notrans,
|
||||||
'nama' => $transStiker->nama,
|
"nama" => $transStiker->nama,
|
||||||
'alamat' => $transStiker->alamat,
|
"alamat" => $transStiker->alamat,
|
||||||
'telepon' => $transStiker->telepon,
|
"telepon" => $transStiker->telepon,
|
||||||
'jenis_transaksi' => $transStiker->jenis_transaksi,
|
"jenis_transaksi" => $transStiker->jenis_transaksi,
|
||||||
'harga' => $transStiker->harga,
|
"harga" => $transStiker->harga,
|
||||||
'keterangan' => $transStiker->keterangan,
|
"keterangan" => $transStiker->keterangan,
|
||||||
'tanggal' => Carbon::now(),
|
"tanggal" => Carbon::now(),
|
||||||
'awal' => Carbon::now()->startOfMonth(),
|
"awal" => Carbon::now()->startOfMonth(),
|
||||||
'akhir' => Carbon::now()->endOfMonth(),
|
"akhir" => Carbon::now()->endOfMonth(),
|
||||||
'maks' => $transStiker->maks,
|
"maks" => $transStiker->maks,
|
||||||
'no_id' => $transStiker->no_id,
|
"no_id" => $transStiker->no_id,
|
||||||
'unit_kerja' => $transStiker->unit_kerja,
|
"unit_kerja" => $transStiker->unit_kerja,
|
||||||
'no_induk' => $transStiker->no_induk,
|
"no_induk" => $transStiker->no_induk,
|
||||||
'area' => $transStiker->area,
|
"area" => $transStiker->area,
|
||||||
'jenis_stiker' => 1,
|
"jenis_stiker" => 1,
|
||||||
'unitno' => $transStiker->unitno,
|
"unitno" => $transStiker->unitno,
|
||||||
'exit_pass' => $transStiker->exit_pass,
|
"exit_pass" => $transStiker->exit_pass,
|
||||||
'hari_ke' => $transStiker->hari_ke,
|
"hari_ke" => $transStiker->hari_ke,
|
||||||
'jenis_langganan' => $transStiker->jenis_langganan,
|
"jenis_langganan" => $transStiker->jenis_langganan,
|
||||||
'no_kuitansi' => $transStiker->no_kuitansi,
|
"no_kuitansi" => $transStiker->no_kuitansi,
|
||||||
'tgl_edited' => Carbon::now(),
|
"tgl_edited" => Carbon::now(),
|
||||||
'tipe_exit_pass' => $transStiker->tipe_exit_pass,
|
"tipe_exit_pass" => $transStiker->tipe_exit_pass,
|
||||||
'seq_code' => $transStiker->seq_code,
|
"seq_code" => $transStiker->seq_code,
|
||||||
'reserved' => $transStiker->reserved,
|
"reserved" => $transStiker->reserved,
|
||||||
'batasan_jam' => $transStiker->batasan_jam,
|
"batasan_jam" => $transStiker->batasan_jam,
|
||||||
'batasan_awal' => $transStiker->batasan_awal,
|
"batasan_awal" => $transStiker->batasan_awal,
|
||||||
'batasan_akhir' => $transStiker->batasan_akhir,
|
"batasan_akhir" => $transStiker->batasan_akhir,
|
||||||
'asuransi' => $transStiker->asuransi,
|
"asuransi" => $transStiker->asuransi,
|
||||||
'visitor' => $transStiker->visitor,
|
"visitor" => $transStiker->visitor,
|
||||||
'operator' => 'Automatic'
|
"operator" => "Automatic",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// DETAIL
|
// DETAIL
|
||||||
DB::table('detail_transaksi_stiker')->insert([
|
DB::table("detail_transaksi_stiker")->insert([
|
||||||
'notrans' => $notrans,
|
"notrans" => $notrans,
|
||||||
'nopol' => $detailTransStiker->nopol,
|
"nopol" => $detailTransStiker->nopol,
|
||||||
'jenis_mobil' => $detailTransStiker->jenis_mobil,
|
"jenis_mobil" => $detailTransStiker->jenis_mobil,
|
||||||
'adm' => $detailTransStiker->adm,
|
"adm" => $detailTransStiker->adm,
|
||||||
'kategori' => $detailTransStiker->kategori,
|
"kategori" => $detailTransStiker->kategori,
|
||||||
'jenis_member' => $detailTransStiker->jenis_member,
|
"jenis_member" => $detailTransStiker->jenis_member,
|
||||||
'akses' => $detailTransStiker->akses,
|
"akses" => $detailTransStiker->akses,
|
||||||
'akses_out' => $detailTransStiker->akses_out,
|
"akses_out" => $detailTransStiker->akses_out,
|
||||||
'status' => $detailTransStiker->status,
|
"status" => $detailTransStiker->status,
|
||||||
'merk' => $detailTransStiker->merk,
|
"merk" => $detailTransStiker->merk,
|
||||||
'tipe' => $detailTransStiker->tipe,
|
"tipe" => $detailTransStiker->tipe,
|
||||||
'tahun' => $detailTransStiker->tahun,
|
"tahun" => $detailTransStiker->tahun,
|
||||||
'warna' => $detailTransStiker->warna,
|
"warna" => $detailTransStiker->warna,
|
||||||
'keterangan' => $detailTransStiker->keterangan,
|
"keterangan" => $detailTransStiker->keterangan,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::table('indexnum')
|
DB::table("indexnum")
|
||||||
->where('nama', 'sticker')
|
->where("nama", "sticker")
|
||||||
->update(['value' => $nextIndex]);
|
->update(["value" => $nextIndex]);
|
||||||
|
|
||||||
return $notrans;
|
return $notrans;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -51,8 +51,6 @@ function printPDF(data) {
|
|||||||
let vehicleCashMasalahJml = 0,
|
let vehicleCashMasalahJml = 0,
|
||||||
vehicleCashMasalahNilai = 0;
|
vehicleCashMasalahNilai = 0;
|
||||||
|
|
||||||
let vehicleCashTotal = 0;
|
|
||||||
|
|
||||||
// init print nontunai
|
// init print nontunai
|
||||||
let vehicleCashlessCasualJml = 0,
|
let vehicleCashlessCasualJml = 0,
|
||||||
vehicleCashlessCasualNilai = 0;
|
vehicleCashlessCasualNilai = 0;
|
||||||
@@ -67,6 +65,10 @@ function printPDF(data) {
|
|||||||
let vehicleCashlessMasalahJml = 0,
|
let vehicleCashlessMasalahJml = 0,
|
||||||
vehicleCashlessMasalahNilai = 0;
|
vehicleCashlessMasalahNilai = 0;
|
||||||
|
|
||||||
|
let vehicleInCashSubTotal = 0;
|
||||||
|
let vehicleOutCashSubTotal = 0;
|
||||||
|
let vehicleOutCashlessSubTotal = 0;
|
||||||
|
|
||||||
let vehicleCashlessTotal = 0;
|
let vehicleCashlessTotal = 0;
|
||||||
|
|
||||||
let grandTotal = 0;
|
let grandTotal = 0;
|
||||||
@@ -83,6 +85,7 @@ function printPDF(data) {
|
|||||||
totalCashless: 0,
|
totalCashless: 0,
|
||||||
};
|
};
|
||||||
// debugger;
|
// debugger;
|
||||||
|
const casualIn = cash.masuk.casual;
|
||||||
|
|
||||||
const tCasual = cash.keluar.casual;
|
const tCasual = cash.keluar.casual;
|
||||||
const tLost = cash.keluar.lost;
|
const tLost = cash.keluar.lost;
|
||||||
@@ -91,8 +94,6 @@ function printPDF(data) {
|
|||||||
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
|
|
||||||
const vehicleCashTotal = cash.totalCash || 0;
|
|
||||||
|
|
||||||
const nCasual = cashless.keluar.casual;
|
const nCasual = cashless.keluar.casual;
|
||||||
const nLost = cashless.keluar.lost;
|
const nLost = cashless.keluar.lost;
|
||||||
const nMember = cashless.keluar.member;
|
const nMember = cashless.keluar.member;
|
||||||
@@ -101,11 +102,15 @@ function printPDF(data) {
|
|||||||
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
const vehicleCashlessTotal = cashless.totalCashless || 0;
|
const vehicleCashlessTotal = cashless.totalCashless || 0;
|
||||||
|
|
||||||
|
vehicleInCashSubTotal += casualIn.jumlah || 0;
|
||||||
|
vehicleOutCashSubTotal += cash.tunaiOut || 0;
|
||||||
|
vehicleOutCashlessSubTotal += nCasual.jumlah || 0;
|
||||||
|
|
||||||
// baris TUNAI
|
// baris TUNAI
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: cash.jenis_mobil, rowSpan: 2, styles: { valign: "middle" } },
|
{ content: cash.jenis_mobil, rowSpan: 2, styles: { valign: "middle" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
cash.total,
|
casualIn.jumlah,
|
||||||
cash.tunaiOut,
|
cash.tunaiOut,
|
||||||
tCasual.jumlah,
|
tCasual.jumlah,
|
||||||
rupiah(tCasual.income),
|
rupiah(tCasual.income),
|
||||||
@@ -126,7 +131,8 @@ function printPDF(data) {
|
|||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
|
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
|
||||||
|
|
||||||
cash.total,
|
// cash.total,
|
||||||
|
casualIn.jumlah,
|
||||||
cashless.nonTunaiOut,
|
cashless.nonTunaiOut,
|
||||||
|
|
||||||
nCasual.jumlah,
|
nCasual.jumlah,
|
||||||
@@ -203,8 +209,8 @@ function printPDF(data) {
|
|||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "SUB TOTAL\nKENDARAAN", rowSpan: 2, styles: { fontStyle: "bold" } },
|
{ content: "SUB TOTAL\nKENDARAAN", rowSpan: 2, styles: { fontStyle: "bold" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
"",
|
{ content: vehicleInCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
|
||||||
"",
|
{ content: vehicleOutCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
|
||||||
vehicleCashCasualJml,
|
vehicleCashCasualJml,
|
||||||
rupiah(vehicleCashCasualNilai),
|
rupiah(vehicleCashCasualNilai),
|
||||||
vehicleCashLostJml,
|
vehicleCashLostJml,
|
||||||
@@ -221,9 +227,9 @@ function printPDF(data) {
|
|||||||
]);
|
]);
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
{ content: vehicleInCashSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
{ content: vehicleOutCashlessSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
{ content: vehicleCashlessCasualJml, styles: { fontStyle: "bold" } },
|
vehicleCashlessCasualJml,
|
||||||
rupiah(vehicleCashlessCasualNilai),
|
rupiah(vehicleCashlessCasualNilai),
|
||||||
vehicleCashlessLostJml,
|
vehicleCashlessLostJml,
|
||||||
rupiah(vehicleCashlessLostNilai),
|
rupiah(vehicleCashlessLostNilai),
|
||||||
@@ -238,7 +244,9 @@ function printPDF(data) {
|
|||||||
rupiah(subTotalCashless),
|
rupiah(subTotalCashless),
|
||||||
]);
|
]);
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "GRAND TOTAL\nKENDARAAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
{ content: "GRAND TOTAL\nKENDARAAN", colSpan: 2, styles: { fontStyle: "bold", halign: "center" } },
|
||||||
|
{ content: vehicleInCashSubTotal + vehicleInCashSubTotal, styles: { fontStyle: "bold" } },
|
||||||
|
{ content: vehicleOutCashSubTotal + vehicleOutCashlessSubTotal, styles: { fontStyle: "bold" } },
|
||||||
{ content: vehicleCashCasualJml + vehicleCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
{ content: vehicleCashCasualJml + vehicleCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
||||||
rupiah(vehicleCashCasualNilai + vehicleCashlessCasualNilai), //Income Casual
|
rupiah(vehicleCashCasualNilai + vehicleCashlessCasualNilai), //Income Casual
|
||||||
{ content: vehicleCashLostJml + vehicleCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
{ content: vehicleCashLostJml + vehicleCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
||||||
@@ -338,6 +346,11 @@ function printPDF(data) {
|
|||||||
officerCashlessManualMixNilai = 0;
|
officerCashlessManualMixNilai = 0;
|
||||||
let officerCashlessMasalahJml = 0,
|
let officerCashlessMasalahJml = 0,
|
||||||
officerCashlessMasalahNilai = 0;
|
officerCashlessMasalahNilai = 0;
|
||||||
|
|
||||||
|
let officerInCashSubTotal = 0;
|
||||||
|
let officerOutCashSubTotal = 0;
|
||||||
|
let officerOutCashlessSubTotal = 0;
|
||||||
|
|
||||||
let pgrandTotal = 0;
|
let pgrandTotal = 0;
|
||||||
|
|
||||||
data.officer.tunai.forEach(function (cash) {
|
data.officer.tunai.forEach(function (cash) {
|
||||||
@@ -352,6 +365,7 @@ function printPDF(data) {
|
|||||||
totalCashless: 0,
|
totalCashless: 0,
|
||||||
};
|
};
|
||||||
// debugger;
|
// debugger;
|
||||||
|
const casualIn = cash.masuk.casual;
|
||||||
|
|
||||||
const tCasual = cash.keluar.casual;
|
const tCasual = cash.keluar.casual;
|
||||||
const tLost = cash.keluar.lost;
|
const tLost = cash.keluar.lost;
|
||||||
@@ -369,6 +383,10 @@ function printPDF(data) {
|
|||||||
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const totalNonTunai = cashless.totalCashless || 0;
|
const totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
|
officerInCashSubTotal += casualIn.jumlah || 0;
|
||||||
|
officerOutCashSubTotal += cash.tunaiOut || 0;
|
||||||
|
officerOutCashlessSubTotal += nCasual.jumlah || 0;
|
||||||
|
|
||||||
// baris TUNAI
|
// baris TUNAI
|
||||||
officerBody.push([
|
officerBody.push([
|
||||||
{
|
{
|
||||||
@@ -377,7 +395,7 @@ function printPDF(data) {
|
|||||||
styles: { valign: "middle" },
|
styles: { valign: "middle" },
|
||||||
},
|
},
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
cash.total,
|
0,
|
||||||
cash.tunaiOut,
|
cash.tunaiOut,
|
||||||
tCasual.jumlah,
|
tCasual.jumlah,
|
||||||
rupiah(tCasual.income),
|
rupiah(tCasual.income),
|
||||||
@@ -398,7 +416,7 @@ function printPDF(data) {
|
|||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
|
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
|
||||||
|
|
||||||
cash.total,
|
0,
|
||||||
cashless.nonTunaiOut,
|
cashless.nonTunaiOut,
|
||||||
|
|
||||||
nCasual.jumlah,
|
nCasual.jumlah,
|
||||||
@@ -474,9 +492,9 @@ function printPDF(data) {
|
|||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "SUB TOTAL\NPer Petugas", rowSpan: 2, styles: { fontStyle: "bold" } },
|
{ content: "SUB TOTAL\NPer Petugas", rowSpan: 2, styles: { fontStyle: "bold" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
"",
|
{ content: officerInCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
|
||||||
"",
|
{ content: officerOutCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
|
||||||
{ content: officerCashCasualJml, styles: { fontStyle: "bold" } },
|
officerCashCasualJml,
|
||||||
rupiah(officerCashCasualNilai),
|
rupiah(officerCashCasualNilai),
|
||||||
officerCashLostJml,
|
officerCashLostJml,
|
||||||
rupiah(officerCashLostNilai),
|
rupiah(officerCashLostNilai),
|
||||||
@@ -492,9 +510,9 @@ function printPDF(data) {
|
|||||||
]);
|
]);
|
||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
{ content: officerInCashSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
{ content: officerOutCashlessSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
{ content: officerCashlessCasualJml, styles: { fontStyle: "bold" } },
|
officerCashlessCasualJml,
|
||||||
rupiah(officerCashlessCasualNilai),
|
rupiah(officerCashlessCasualNilai),
|
||||||
officerCashlessLostJml,
|
officerCashlessLostJml,
|
||||||
rupiah(officerCashlessLostNilai),
|
rupiah(officerCashlessLostNilai),
|
||||||
@@ -509,7 +527,9 @@ function printPDF(data) {
|
|||||||
rupiah(subTotalCashless),
|
rupiah(subTotalCashless),
|
||||||
]);
|
]);
|
||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "GRAND TOTAL\nPETUGAS", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
{ content: "GRAND TOTAL\nPETUGAS", colSpan: 2, styles: { fontStyle: "bold", halign: "center" } },
|
||||||
|
{ content: officerInCashSubTotal + officerInCashSubTotal, styles: { fontStyle: "bold" } },
|
||||||
|
{ content: officerOutCashSubTotal + officerOutCashlessSubTotal, styles: { fontStyle: "bold" } },
|
||||||
{ content: officerCashCasualJml + officerCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
{ content: officerCashCasualJml + officerCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
||||||
rupiah(officerCashCasualNilai + officerCashlessCasualNilai), //Income Casual
|
rupiah(officerCashCasualNilai + officerCashlessCasualNilai), //Income Casual
|
||||||
{ content: officerCashLostJml + officerCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
{ content: officerCashLostJml + officerCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
||||||
@@ -614,6 +634,9 @@ function printPDF(data) {
|
|||||||
let paymentCashlessMasalahJml = 0,
|
let paymentCashlessMasalahJml = 0,
|
||||||
paymentCashlessMasalahNilai = 0;
|
paymentCashlessMasalahNilai = 0;
|
||||||
|
|
||||||
|
let paymentInCashSubTotal = 0;
|
||||||
|
let paymentOutCashSubTotal = 0;
|
||||||
|
let paymentOutCashlessSubTotal = 0;
|
||||||
// let payTotalNonTunaiJml = 0,
|
// let payTotalNonTunaiJml = 0,
|
||||||
// payTotalNonTunaiNilai = 0;
|
// payTotalNonTunaiNilai = 0;
|
||||||
let payGrandTotal = 0;
|
let payGrandTotal = 0;
|
||||||
@@ -632,6 +655,8 @@ function printPDF(data) {
|
|||||||
// debugger;
|
// debugger;
|
||||||
|
|
||||||
let typePayment = paymentType(cash.typePayment);
|
let typePayment = paymentType(cash.typePayment);
|
||||||
|
const casualIn = cash.masuk.casual;
|
||||||
|
|
||||||
const tCasual = cash.keluar.casual;
|
const tCasual = cash.keluar.casual;
|
||||||
const tLost = cash.keluar.lost;
|
const tLost = cash.keluar.lost;
|
||||||
const tMember = cash.keluar.member;
|
const tMember = cash.keluar.member;
|
||||||
@@ -648,6 +673,9 @@ function printPDF(data) {
|
|||||||
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
const totalNonTunai = cashless.totalCashless || 0;
|
const totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
|
paymentInCashSubTotal += casualIn.jumlah || 0;
|
||||||
|
paymentOutCashSubTotal += cash.tunaiOut || 0;
|
||||||
|
paymentOutCashlessSubTotal += nCasual.jumlah || 0;
|
||||||
// baris TUNAI
|
// baris TUNAI
|
||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{
|
{
|
||||||
@@ -656,7 +684,7 @@ function printPDF(data) {
|
|||||||
styles: { valign: "middle" },
|
styles: { valign: "middle" },
|
||||||
},
|
},
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
cash.total,
|
0,
|
||||||
cash.tunaiOut,
|
cash.tunaiOut,
|
||||||
tCasual.jumlah,
|
tCasual.jumlah,
|
||||||
rupiah(tCasual.income),
|
rupiah(tCasual.income),
|
||||||
@@ -677,7 +705,7 @@ function printPDF(data) {
|
|||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
|
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
|
||||||
|
|
||||||
cash.total,
|
0,
|
||||||
cashless.nonTunaiOut,
|
cashless.nonTunaiOut,
|
||||||
|
|
||||||
nCasual.jumlah,
|
nCasual.jumlah,
|
||||||
@@ -755,9 +783,9 @@ function printPDF(data) {
|
|||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "SUB TOTAL\NPer Pembayaran", rowSpan: 2, styles: { fontStyle: "bold" } },
|
{ content: "SUB TOTAL\NPer Pembayaran", rowSpan: 2, styles: { fontStyle: "bold" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
"",
|
{ content: paymentInCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
|
||||||
"",
|
{ content: paymentOutCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
|
||||||
{ content: paymentCashCasualJml, styles: { fontStyle: "bold" } },
|
paymentCashCasualJml,
|
||||||
rupiah(paymentCashCasualNilai),
|
rupiah(paymentCashCasualNilai),
|
||||||
paymentCashLostJml,
|
paymentCashLostJml,
|
||||||
rupiah(paymentCashLostNilai),
|
rupiah(paymentCashLostNilai),
|
||||||
@@ -773,9 +801,9 @@ function printPDF(data) {
|
|||||||
]);
|
]);
|
||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
{ content: paymentInCashSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
{ content: paymentOutCashlessSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
{ content: paymentCashlessCasualJml, styles: { fontStyle: "bold" } },
|
paymentCashlessCasualJml,
|
||||||
rupiah(paymentCashlessCasualNilai),
|
rupiah(paymentCashlessCasualNilai),
|
||||||
paymentCashlessLostJml,
|
paymentCashlessLostJml,
|
||||||
rupiah(paymentCashlessLostNilai),
|
rupiah(paymentCashlessLostNilai),
|
||||||
@@ -790,7 +818,9 @@ function printPDF(data) {
|
|||||||
rupiah(subTotalCashless),
|
rupiah(subTotalCashless),
|
||||||
]);
|
]);
|
||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "GRAND TOTAL\nPEMBAYARAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
{ content: "GRAND TOTAL\nPEMBAYARAN", colSpan: 2, styles: { fontStyle: "bold", halign: "center" } },
|
||||||
|
{ content: paymentInCashSubTotal + paymentInCashSubTotal, styles: { fontStyle: "bold" } },
|
||||||
|
{ content: paymentOutCashSubTotal + paymentOutCashlessSubTotal, styles: { fontStyle: "bold" } },
|
||||||
{ content: paymentCashCasualJml + paymentCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
{ content: paymentCashCasualJml + paymentCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
||||||
rupiah(paymentCashCasualNilai + paymentCashlessCasualNilai), //Income Casual
|
rupiah(paymentCashCasualNilai + paymentCashlessCasualNilai), //Income Casual
|
||||||
{ content: paymentCashLostJml + paymentCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
{ content: paymentCashLostJml + paymentCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
window.ReportApp = window.ReportAp || {};
|
window.ReportApp = window.ReportAp || {};
|
||||||
window.ReportApp.lastResponse = null;
|
window.ReportApp.lastResponse = null;
|
||||||
let lastResponse = null;
|
// let lastResponse = null;
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
// $("#modaltanggal").modal("show");
|
// $("#modaltanggal").modal("show");
|
||||||
@@ -13,7 +13,13 @@ $(document).ready(function () {
|
|||||||
// loadData();
|
// loadData();
|
||||||
// },
|
// },
|
||||||
// });
|
// });
|
||||||
//
|
$(document).on("keydown", function (e) {
|
||||||
|
if ("e" == "Escape") {
|
||||||
|
e.PreventDefault();
|
||||||
|
$("#loadingOverlay").addClass("d-none");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const date = $("#tanggalCari").datepicker({
|
const date = $("#tanggalCari").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
autoclose: true,
|
autoclose: true,
|
||||||
@@ -39,6 +45,7 @@ $(document).ready(function () {
|
|||||||
// var today = Date.now().format("yyyy-mm-dd");
|
// var today = Date.now().format("yyyy-mm-dd");
|
||||||
// $("#tanggalCari").val();
|
// $("#tanggalCari").val();
|
||||||
// $("#tanggalCari").val(getToday());
|
// $("#tanggalCari").val(getToday());
|
||||||
|
$("#loadingBar").removeClass("d-none");
|
||||||
loadData();
|
loadData();
|
||||||
|
|
||||||
// lastResponse = loadData();
|
// lastResponse = loadData();
|
||||||
@@ -58,27 +65,27 @@ $(document).ready(function () {
|
|||||||
// console.log(e);
|
// console.log(e);
|
||||||
// });
|
// });
|
||||||
|
|
||||||
$(".btn-export-pdf").on("click", async function () {
|
// $(".btn-export-pdf").on("click", async function () {
|
||||||
// $('.cetak').css('display','block');
|
// $('.cetak').css('display','block');
|
||||||
// $('.user').css('display','block');
|
// $('.user').css('display','block');
|
||||||
// const { jsPDF } = window.jspdf;
|
// const { jsPDF } = window.jspdf;
|
||||||
// const doc = new jsPDF("p", "pt", "a4");
|
// const doc = new jsPDF("p", "pt", "a4");
|
||||||
// // ambil elemen tabel
|
// // ambil elemen tabel
|
||||||
// const table = document.getElementById("cetak");
|
// const table = document.getElementById("cetak");
|
||||||
// const canvas = await html2canvas(table, { scale: 2 });
|
// const canvas = await html2canvas(table, { scale: 2 });
|
||||||
// const imgData = canvas.toDataURL("image/png");
|
// const imgData = canvas.toDataURL("image/png");
|
||||||
// const imgWidth = doc.internal.pageSize.getWidth();
|
// const imgWidth = doc.internal.pageSize.getWidth();
|
||||||
// const imgHeight = (canvas.height * imgWidth) / canvas.width;
|
// const imgHeight = (canvas.height * imgWidth) / canvas.width;
|
||||||
// doc.addImage(imgData, "PNG", 0, 20, imgWidth, imgHeight);
|
// doc.addImage(imgData, "PNG", 0, 20, imgWidth, imgHeight);
|
||||||
// doc.save(`Rekap Harian.pdf`);
|
// doc.save(`Rekap Harian.pdf`);
|
||||||
//
|
//
|
||||||
// jsPDF Autotable
|
// jsPDF Autotable
|
||||||
if (!lastResponse) {
|
// if (!lastResponse) {
|
||||||
alert("Data belum tersedia");
|
// alert("Data belum tersedia");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
printPDF(lastResponse.vehicle);
|
// printPDF(lastResponse.vehicle);
|
||||||
});
|
// });
|
||||||
// console.log(document.getElementById("cetak"));
|
// console.log(document.getElementById("cetak"));
|
||||||
// console.log(document.getElementById("date-table"));
|
// console.log(document.getElementById("date-table"));
|
||||||
});
|
});
|
||||||
@@ -103,10 +110,11 @@ function loadData(tanggalMulai, tanggalAkhir) {
|
|||||||
},
|
},
|
||||||
beforeSend: function () {
|
beforeSend: function () {
|
||||||
console.log("Loading data...");
|
console.log("Loading data...");
|
||||||
|
$("#loadingOverlay").removeClass("d-none");
|
||||||
},
|
},
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
window.ReportApp.lastResponse = response;
|
window.ReportApp.lastResponse = response;
|
||||||
lastResponse = response; // ✅ tambah ini
|
// lastResponse = response; // ✅ tambah ini
|
||||||
tableVehicle(response.vehicle);
|
tableVehicle(response.vehicle);
|
||||||
tableOfficer(response.officer);
|
tableOfficer(response.officer);
|
||||||
tablePayment(response.payment);
|
tablePayment(response.payment);
|
||||||
@@ -289,6 +297,9 @@ function loadData(tanggalMulai, tanggalAkhir) {
|
|||||||
console.log("Error:", xhr);
|
console.log("Error:", xhr);
|
||||||
alert("Terjadi kesalahan saat memuat data");
|
alert("Terjadi kesalahan saat memuat data");
|
||||||
},
|
},
|
||||||
|
complete: function () {
|
||||||
|
$("#loadingOverlay").addClass("d-none");
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -309,6 +320,9 @@ function tableVehicle(response) {
|
|||||||
|
|
||||||
let html = "";
|
let html = "";
|
||||||
let onData = "";
|
let onData = "";
|
||||||
|
let jmlCashOut = 0;
|
||||||
|
|
||||||
|
let inCashCasual = 0;
|
||||||
let jmlCashCasual = 0;
|
let jmlCashCasual = 0;
|
||||||
let incomeCashCasual = 0;
|
let incomeCashCasual = 0;
|
||||||
|
|
||||||
@@ -325,6 +339,8 @@ function tableVehicle(response) {
|
|||||||
let incomeCashMasalah = 0;
|
let incomeCashMasalah = 0;
|
||||||
|
|
||||||
// Init data cashless
|
// Init data cashless
|
||||||
|
let jmlCashlessOut = 0;
|
||||||
|
|
||||||
let jmlCashlessCasual = 0;
|
let jmlCashlessCasual = 0;
|
||||||
let incomeCashlessCasual = 0;
|
let incomeCashlessCasual = 0;
|
||||||
|
|
||||||
@@ -355,7 +371,7 @@ function tableVehicle(response) {
|
|||||||
totalCashless: 0,
|
totalCashless: 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
let casualIn = cash.total;
|
let casualIn = cash.masuk.casual;
|
||||||
let tunaiOut = cash.tunaiOut;
|
let tunaiOut = cash.tunaiOut;
|
||||||
// ===== DATA TUNAI =====
|
// ===== DATA TUNAI =====
|
||||||
let tCasual = cash.keluar.casual;
|
let tCasual = cash.keluar.casual;
|
||||||
@@ -379,6 +395,10 @@ function tableVehicle(response) {
|
|||||||
let totalNonTunai = cashless.totalCashless || 0;
|
let totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
// init data cash
|
// init data cash
|
||||||
|
//
|
||||||
|
inCashCasual += casualIn.jumlah;
|
||||||
|
jmlCashOut += tunaiOut;
|
||||||
|
|
||||||
jmlCashCasual += cash.keluar.casual.jumlah;
|
jmlCashCasual += cash.keluar.casual.jumlah;
|
||||||
incomeCashCasual += cash.keluar.casual.income;
|
incomeCashCasual += cash.keluar.casual.income;
|
||||||
|
|
||||||
@@ -394,6 +414,8 @@ function tableVehicle(response) {
|
|||||||
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
||||||
|
|
||||||
// ========= init data cashless
|
// ========= init data cashless
|
||||||
|
jmlCashlessOut += nonTunaiOut;
|
||||||
|
|
||||||
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
||||||
incomeCashlessCasual += cashless.keluar.casual.income;
|
incomeCashlessCasual += cashless.keluar.casual.income;
|
||||||
|
|
||||||
@@ -409,7 +431,8 @@ function tableVehicle(response) {
|
|||||||
subTotalIncomeCashless =
|
subTotalIncomeCashless =
|
||||||
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
||||||
|
|
||||||
//
|
totalAllIn = inCashCasual + inCashCasual;
|
||||||
|
totalAllOut = jmlCashOut + jmlCashlessOut;
|
||||||
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
||||||
|
|
||||||
// console.log(tLost.income);
|
// console.log(tLost.income);
|
||||||
@@ -420,7 +443,7 @@ function tableVehicle(response) {
|
|||||||
<td rowspan="2" style="text-align: left;"><strong>${cash.jenis_mobil}</strong></td>
|
<td rowspan="2" style="text-align: left;"><strong>${cash.jenis_mobil}</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
|
|
||||||
<td>${casualIn}</td>
|
<td>${casualIn.jumlah}</td>
|
||||||
<td>${tunaiOut}</td>
|
<td>${tunaiOut}</td>
|
||||||
|
|
||||||
<td>${tCasual.jumlah}</td>
|
<td>${tCasual.jumlah}</td>
|
||||||
@@ -447,7 +470,7 @@ function tableVehicle(response) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">Non Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-warning">Non Tunai</span></td>
|
||||||
|
|
||||||
<td>${casualIn}</td>
|
<td>${casualIn.jumlah}</td>
|
||||||
<td>${nonTunaiOut}</td>
|
<td>${nonTunaiOut}</td>
|
||||||
|
|
||||||
<td>${nCasual.jumlah}</td>
|
<td>${nCasual.jumlah}</td>
|
||||||
@@ -478,8 +501,8 @@ function tableVehicle(response) {
|
|||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>KENDARAAN</strong></td>
|
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>KENDARAAN</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
<td>0</td>
|
<td data-value="${jmlCashlessOut}"><strong>${inCashCasual}</strong></td>
|
||||||
<td>0</td>
|
<td data-value="${jmlCashOut}"><strong>${rupiah(jmlCashOut)}</strong></td>
|
||||||
<td data-value="${jmlCashCasual}">${jmlCashCasual}</td>
|
<td data-value="${jmlCashCasual}">${jmlCashCasual}</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
<td data-value="${jmlCashLost}">${jmlCashLost}</td>
|
<td data-value="${jmlCashLost}">${jmlCashLost}</td>
|
||||||
@@ -496,8 +519,8 @@ function tableVehicle(response) {
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
||||||
<td>0</td>
|
<td data-value="${jmlCashlessOut}"><strong>${inCashCasual}</strong></td>
|
||||||
<td>0</td>
|
<td data-value="${jmlCashlessOut}"><strong>${rupiah(jmlCashlessOut)}</strong></td>
|
||||||
<td>${jmlCashlessCasual}</td>
|
<td>${jmlCashlessCasual}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
||||||
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
||||||
@@ -513,8 +536,9 @@ function tableVehicle(response) {
|
|||||||
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Kendaraan</strong></td>
|
<td colspan="2" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Kendaraan</strong></td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0">${totalAllIn}</td>
|
||||||
|
<td colspan="0">${totalAllOut}</td>
|
||||||
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
||||||
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
||||||
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
||||||
@@ -561,6 +585,8 @@ function tableOfficer(response) {
|
|||||||
|
|
||||||
let html = "";
|
let html = "";
|
||||||
// init petugas data cash
|
// init petugas data cash
|
||||||
|
let jmlCashOut = 0;
|
||||||
|
|
||||||
let jmlCashCasual = 0;
|
let jmlCashCasual = 0;
|
||||||
let incomeCashCasual = 0;
|
let incomeCashCasual = 0;
|
||||||
|
|
||||||
@@ -574,6 +600,8 @@ function tableOfficer(response) {
|
|||||||
let incomeCashManual = 0;
|
let incomeCashManual = 0;
|
||||||
|
|
||||||
// init petugas data cash
|
// init petugas data cash
|
||||||
|
let jmlCashlessOut = 0;
|
||||||
|
|
||||||
let jmlCashlessCasual = 0;
|
let jmlCashlessCasual = 0;
|
||||||
let incomeCashlessCasual = 0;
|
let incomeCashlessCasual = 0;
|
||||||
|
|
||||||
@@ -625,6 +653,8 @@ function tableOfficer(response) {
|
|||||||
let totalNonTunai = cashless.totalCashless || 0;
|
let totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
// get data cash
|
// get data cash
|
||||||
|
jmlCashOut += tunaiOut;
|
||||||
|
|
||||||
jmlCashCasual += cash.keluar.casual.jumlah;
|
jmlCashCasual += cash.keluar.casual.jumlah;
|
||||||
incomeCashCasual += cash.keluar.casual.income;
|
incomeCashCasual += cash.keluar.casual.income;
|
||||||
|
|
||||||
@@ -640,6 +670,8 @@ function tableOfficer(response) {
|
|||||||
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
||||||
|
|
||||||
// ========= init data cashless
|
// ========= init data cashless
|
||||||
|
jmlCashlessOut += nonTunaiOut;
|
||||||
|
|
||||||
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
||||||
incomeCashlessCasual += cashless.keluar.casual.income;
|
incomeCashlessCasual += cashless.keluar.casual.income;
|
||||||
|
|
||||||
@@ -655,7 +687,7 @@ function tableOfficer(response) {
|
|||||||
subTotalIncomeCashless =
|
subTotalIncomeCashless =
|
||||||
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
||||||
|
|
||||||
//
|
totalAllOut = jmlCashOut + jmlCashlessOut;
|
||||||
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
||||||
//========= init table body by petugas
|
//========= init table body by petugas
|
||||||
html += `
|
html += `
|
||||||
@@ -721,8 +753,8 @@ function tableOfficer(response) {
|
|||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Petugas</strong></td>
|
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Petugas</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
<td>0</td>
|
<td><strong>0</strong></td>
|
||||||
<td>0</td>
|
<td data-value="${incomeCashCasual}"><strong>${rupiah(jmlCashOut)}</strong></td>
|
||||||
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
|
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
|
||||||
@@ -739,8 +771,8 @@ function tableOfficer(response) {
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
||||||
<td>0</td>
|
<td><strong>0</strong></td>
|
||||||
<td>0</td>
|
<td data-value="${incomeCashlessCasual}"><strong>${rupiah(jmlCashlessOut)}</strong></td>
|
||||||
<td>${jmlCashlessCasual}</td>
|
<td>${jmlCashlessCasual}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
||||||
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
||||||
@@ -756,8 +788,9 @@ function tableOfficer(response) {
|
|||||||
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Petugas</strong></td>
|
<td colspan="2" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Petugas</strong></td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0">0</td>
|
||||||
|
<td colspan="0">${totalAllOut}</td>
|
||||||
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
||||||
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
||||||
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
||||||
@@ -804,6 +837,7 @@ function tablePayment(response) {
|
|||||||
|
|
||||||
let html = "";
|
let html = "";
|
||||||
// init data cash
|
// init data cash
|
||||||
|
let jmlCashOut = 0;
|
||||||
let jmlCashCasual = 0;
|
let jmlCashCasual = 0;
|
||||||
let incomeCashCasual = 0;
|
let incomeCashCasual = 0;
|
||||||
|
|
||||||
@@ -817,6 +851,8 @@ function tablePayment(response) {
|
|||||||
let incomeCashManual = 0;
|
let incomeCashManual = 0;
|
||||||
|
|
||||||
// init data cashless
|
// init data cashless
|
||||||
|
let jmlCashlessOut = 0;
|
||||||
|
|
||||||
let jmlCashlessCasual = 0;
|
let jmlCashlessCasual = 0;
|
||||||
let incomeCashlessCasual = 0;
|
let incomeCashlessCasual = 0;
|
||||||
|
|
||||||
@@ -849,7 +885,8 @@ function tablePayment(response) {
|
|||||||
|
|
||||||
let payment = paymentType(cash.typePayment);
|
let payment = paymentType(cash.typePayment);
|
||||||
// let payment = cash.typePayment;
|
// let payment = cash.typePayment;
|
||||||
let casualIn = cash.total;
|
let casualIn = cash.masuk.casual;
|
||||||
|
let casualOut = cash.masuk.casual;
|
||||||
let tunaiOut = cash.tunaiOut;
|
let tunaiOut = cash.tunaiOut;
|
||||||
// ===== DATA TUNAI =====
|
// ===== DATA TUNAI =====
|
||||||
let tCasual = cash.keluar.casual;
|
let tCasual = cash.keluar.casual;
|
||||||
@@ -868,6 +905,7 @@ function tablePayment(response) {
|
|||||||
let totalTunai = cash.totalCash || 0;
|
let totalTunai = cash.totalCash || 0;
|
||||||
let totalNonTunai = cashless.totalCashless || 0;
|
let totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
|
jmlCashOut += tunaiOut;
|
||||||
jmlCashCasual += cash.keluar.casual.jumlah;
|
jmlCashCasual += cash.keluar.casual.jumlah;
|
||||||
incomeCashCasual += cash.keluar.casual.income;
|
incomeCashCasual += cash.keluar.casual.income;
|
||||||
|
|
||||||
@@ -883,6 +921,8 @@ function tablePayment(response) {
|
|||||||
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
||||||
|
|
||||||
// ========= init data cashless
|
// ========= init data cashless
|
||||||
|
jmlCashlessOut += nonTunaiOut;
|
||||||
|
|
||||||
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
||||||
incomeCashlessCasual += cashless.keluar.casual.income;
|
incomeCashlessCasual += cashless.keluar.casual.income;
|
||||||
|
|
||||||
@@ -898,6 +938,7 @@ function tablePayment(response) {
|
|||||||
subTotalIncomeCashless =
|
subTotalIncomeCashless =
|
||||||
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
||||||
|
|
||||||
|
totalAllOut = jmlCashOut + jmlCashlessOut;
|
||||||
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
||||||
|
|
||||||
html += `
|
html += `
|
||||||
@@ -905,7 +946,7 @@ function tablePayment(response) {
|
|||||||
<td rowspan="2" style="text-align: left;"><strong>${payment}</strong></td>
|
<td rowspan="2" style="text-align: left;"><strong>${payment}</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
|
|
||||||
<td>${casualIn}</td>
|
<td>${casualIn.jumlah}</td>
|
||||||
<td>${tunaiOut}</td>
|
<td>${tunaiOut}</td>
|
||||||
|
|
||||||
<td>${tCasual.jumlah}</td>
|
<td>${tCasual.jumlah}</td>
|
||||||
@@ -932,7 +973,7 @@ function tablePayment(response) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">Non Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-warning">Non Tunai</span></td>
|
||||||
|
|
||||||
<td>${casualIn}</td>
|
<td>${casualIn.jumlah}</td>
|
||||||
<td>${nonTunaiOut}</td>
|
<td>${nonTunaiOut}</td>
|
||||||
|
|
||||||
<td>${nCasual.jumlah}</td>
|
<td>${nCasual.jumlah}</td>
|
||||||
@@ -963,8 +1004,8 @@ function tablePayment(response) {
|
|||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Jenis Pembayaran</strong></td>
|
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Jenis Pembayaran</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
<td>0</td>
|
<td><strong>0</strong></td>
|
||||||
<td>0</td>
|
<td data-value="${incomeCashCasual}"><strong>${rupiah(jmlCashOut)}</strong></td>
|
||||||
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
|
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
|
||||||
@@ -981,8 +1022,8 @@ function tablePayment(response) {
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
||||||
<td>0</td>
|
<td><strong>0</strong></td>
|
||||||
<td>0</td>
|
<td data-value="${incomeCashlessCasual}"><strong>${rupiah(jmlCashlessOut)}</strong></td>
|
||||||
<td>${jmlCashlessCasual}</td>
|
<td>${jmlCashlessCasual}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
||||||
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
||||||
@@ -998,8 +1039,9 @@ function tablePayment(response) {
|
|||||||
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Pembayaran</strong></td>
|
<td colspan="2" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Pembayaran</strong></td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0">0</td>
|
||||||
|
<td colspan="0">${totalAllOut}</td>
|
||||||
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
||||||
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
||||||
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -10,6 +10,23 @@
|
|||||||
.table td {
|
.table td {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
#loadingOverlay {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.4);
|
||||||
|
z-index: 2000;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
#loadingOverlay .loading-box {
|
||||||
|
background: #fff;
|
||||||
|
padding: 24px 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
width: 280px;
|
||||||
|
text-align: center;
|
||||||
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@@ -53,6 +70,7 @@
|
|||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<div class="ms-auto mb-1" id="harian"></div>
|
<div class="ms-auto mb-1" id="harian"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="table-bordered mb-5">
|
<div class="table-bordered mb-5">
|
||||||
<table class="table table-striped" id="cash">
|
<table class="table table-striped" id="cash">
|
||||||
<thead>
|
<thead>
|
||||||
@@ -181,6 +199,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="loadingOverlay" class="d-none">
|
||||||
|
<div class="loading-box">
|
||||||
|
<p class="mb-2">Memuat data...</p>
|
||||||
|
<div class="progress" style="height: 6px;">
|
||||||
|
<div class="progress-bar progress-bar-striped progress-bar-animated bg-primary" style="width: 100%"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -197,6 +223,11 @@
|
|||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.31/jspdf.plugin.autotable.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.31/jspdf.plugin.autotable.min.js"></script>
|
||||||
|
@if(app()->environment('local'))
|
||||||
|
<script src="{{ asset('js/report/report-vehicle.js') }}"></script>
|
||||||
|
<script src="{{ asset('js/report/report-print.js') }}"></script>
|
||||||
|
@else
|
||||||
<script src="{{ asset('jx/report/report-vehicle.parkq.jx') }}"></script>
|
<script src="{{ asset('jx/report/report-vehicle.parkq.jx') }}"></script>
|
||||||
<script src="{{ asset('jx/report/report-print.parkq.jx') }}"></script>
|
<script src="{{ asset('jx/report/report-print.parkq.jx') }}"></script>
|
||||||
|
@endif
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<div class="modal fade bd-ubah-modal-lg" id="extend-member" tabindex="-1" role="dialog" data-bs-backdrop="static" data-keyboard="false">
|
<div class="modal fade bd-extend-modal-lg" id="extend-member" tabindex="-1" role="dialog" data-bs-backdrop="static" data-keyboard="false">
|
||||||
<div class="modal-dialog modal-xl">
|
<div class="modal-dialog modal-xl">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ class="form-control"
|
|||||||
<button class="btn btn-primary btn-sm add-button" data-bs-toggle="modal" data-bs-target=".bd-example-modal-lg">Tambah</button>
|
<button class="btn btn-primary btn-sm add-button" data-bs-toggle="modal" data-bs-target=".bd-example-modal-lg">Tambah</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="rowActions" class="d-none">
|
<div id="rowActions" class="d-none">
|
||||||
<button class="btn btn-success btn-sm extend-button" id="btnExtend" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Perpanjang</button>
|
<button class="btn btn-success btn-sm extend-button" id="btnExtend" data-bs-toggle="modal" data-bs-target=".bd-extend-modal-lg">Perpanjang</button>
|
||||||
<button class="btn btn-warning btn-sm edit-button" id="btnEdit" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Ubah</button>
|
<button class="btn btn-warning btn-sm edit-button" id="btnEdit" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Ubah</button>
|
||||||
<button class="btn btn-danger btn-sm" id="btnDelete">Hapus</button>
|
<button class="btn btn-danger btn-sm" id="btnDelete">Hapus</button>
|
||||||
<button class="btn btn-info btn-sm" id="btnDetail">Detail</button>
|
<button class="btn btn-info btn-sm" id="btnDetail">Detail</button>
|
||||||
@@ -168,6 +168,7 @@ class="form-control"
|
|||||||
</div>
|
</div>
|
||||||
<!-- ADD MEMMBER MODAL -->
|
<!-- ADD MEMMBER MODAL -->
|
||||||
@include('stiker.tambah-stiker')
|
@include('stiker.tambah-stiker')
|
||||||
|
@include('stiker.extend-stiker')
|
||||||
@include('stiker.ubah-stiker')
|
@include('stiker.ubah-stiker')
|
||||||
<!-- END MEMMBER MODAL -->
|
<!-- END MEMMBER MODAL -->
|
||||||
</div>
|
</div>
|
||||||
@@ -195,8 +196,13 @@ class="form-control"
|
|||||||
<script>
|
<script>
|
||||||
var member = @json($jenisStiker);
|
var member = @json($jenisStiker);
|
||||||
</script>
|
</script>
|
||||||
|
@if(app()->environment('local'))
|
||||||
|
<script src="{{ asset('js/stikerM ember/index.js') }}"></script>
|
||||||
|
<script src="{{ asset('js/stikerMember/member-register.js') }}"></script>
|
||||||
|
@else
|
||||||
<script src="{{asset ('jx/stikermember/index.parkq.jx') }}"></script>
|
<script src="{{asset ('jx/stikermember/index.parkq.jx') }}"></script>
|
||||||
<script src="{{asset ('jx/stikermember/member-register.parkq.jx') }}"></script>
|
<script src="{{asset ('jx/stikermember/member-register.parkq.jx') }}"></script>
|
||||||
|
@endif
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
var vehicle = @json($vehicleSelect);
|
var vehicle = @json($vehicleSelect);
|
||||||
@@ -205,6 +211,7 @@ class="form-control"
|
|||||||
|
|
||||||
$('#example tbody').on('click', 'tr', function () {
|
$('#example tbody').on('click', 'tr', function () {
|
||||||
|
|
||||||
|
console.log($('#example tbody tr').length);
|
||||||
const notrans = $(this).data('notrans');
|
const notrans = $(this).data('notrans');
|
||||||
|
|
||||||
// hapus semua highlight
|
// hapus semua highlight
|
||||||
@@ -226,29 +233,30 @@ class="form-control"
|
|||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '.extend-button', function () {
|
$(document).on('click', '.extend-button', function () {
|
||||||
|
console.log("Tombol extend ditekan");
|
||||||
if (!selectedRowData) {
|
if (!selectedRowData) {
|
||||||
alert('Pilih data terlebih dahulu');
|
alert('Pilih data terlebih dahulu');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var rawId = $(this).data('id');
|
var rawId = $(this).data('id');
|
||||||
// let id = rawId.substring(0, rawId.indexOf('/'));
|
// let id = rawId.substring(0, rawId.indexOf('/'));
|
||||||
let id = selectedRowData;
|
let id = selectedRowData.notrans;
|
||||||
var kendaraan = vehicle;
|
var kendaraan = vehicle;
|
||||||
console.log('Data ID : ', id);
|
console.log('Data ID : ', id);
|
||||||
|
|
||||||
var actionUrl = '{{ route("getStikerMember.show", ":id") }}';
|
var actionUrl = '{{ route("getStikerMember.show", ":id") }}';
|
||||||
actionUrl = actionUrl.replace(':id', id);
|
actionUrl = actionUrl.replace(':id', "" + encodeURIComponent(id));
|
||||||
console.log('Action URL : ', actionUrl);
|
console.log('Action URL : ', actionUrl);
|
||||||
// $('#extend-member').attr('action'), actionUrl;
|
// $('#extend-member').attr('action'), actionUrl;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: actionUrl,
|
url: actionUrl,
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
success: function (r) {
|
success: function (r) {
|
||||||
|
console.log("Datanya : ", r);
|
||||||
if (r) {
|
if (r) {
|
||||||
$('#extend-member').val('');
|
$('#extend-member').val('');
|
||||||
$('#list-nopol-ext').empty();
|
$('#list-nopol-ext').empty();
|
||||||
$('#list-card-ext').empty();
|
$('#list-card-ext').empty();
|
||||||
console.log(r.nama);
|
|
||||||
$('#notransnya').val(r.notrans);
|
$('#notransnya').val(r.notrans);
|
||||||
$('#namanya').val(r.nama);
|
$('#namanya').val(r.nama);
|
||||||
$('#address').val(r.alamat);
|
$('#address').val(r.alamat);
|
||||||
@@ -305,7 +313,7 @@ class="form-control"
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#modal-member-extend').modal('show');
|
$('#extend-member').modal('show');
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.extend').on('click', function () {
|
$('.extend').on('click', function () {
|
||||||
|
|||||||
+3
-1
@@ -72,7 +72,9 @@
|
|||||||
Route::prefix("/transaksi")->group(function () {
|
Route::prefix("/transaksi")->group(function () {
|
||||||
Route::resource("parkir", TransaksiParkirController::class)->names("transaksiparkir");
|
Route::resource("parkir", TransaksiParkirController::class)->names("transaksiparkir");
|
||||||
Route::resource("stiker", MemberStikerController::class)->names("getStikerMember");
|
Route::resource("stiker", MemberStikerController::class)->names("getStikerMember");
|
||||||
Route::post("stiker/data", [MemberStikerController::class, "getMember"])->name("getMember");
|
// Route::post("stiker/data", [MemberStikerController::class, "getMember"])
|
||||||
|
// ->names("getMember")
|
||||||
|
// ->where(["stiker"] => '.*');
|
||||||
Route::post("stiker/checkField", [MemberStikerController::class, "checkField"]);
|
Route::post("stiker/checkField", [MemberStikerController::class, "checkField"]);
|
||||||
Route::resource("member", MemberStikerController::class);
|
Route::resource("member", MemberStikerController::class);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user