get(); $departmentSelect = DB::table("stasiunkerja")->get(); $memberSelect = DB::table("jenis_langganan")->get(); $jenisStiker = DB::table("tarif_stiker")->get(); return view("stiker.stiker", compact(["vehicleSelect", "departmentSelect", "memberSelect", "jenisStiker"])); } public function getMember(Request $request) { Log::info(json_encode("nama : " . $request->input("search-by"))); Log::info(json_encode("value : " . $request->input("search_value"))); Log::info(json_encode("isActive : " . $request->input("isActive"))); // Log::info(json_encode("veh : " . $request->vehicle)); // Log::info(json_encode("dept : " . $request->depart)); // Log::info(json_encode("mem : " . $request->jenismember)); // Log::info(json_encode("trans : " . $request->notrans)); // Log::info(json_encode("isactive : " . gettype($request->isactive))); $searchBy = $request->input("search-by"); $searchValue = trim($request->input("search_value", "")); $memberType = $request->input("member_type"); $unitKerja = $request->input("departement"); $vehicle = $request->input("vehicle"); $isActive = $request->input("isActive"); if ($request->ajax()) { $dataStiker = DB::table("transaksi_stiker as ts") ->leftJoin("detail_transaksi_stiker as dts", "dts.notrans", "=", "ts.notrans") ->leftJoin("card_member as cm", "cm.notrans", "=", "ts.no_id") ->leftJoin("jenis_langganan as jl", "jl.id", "=", "ts.jenis_langganan") ->leftJoin("stasiunkerja as sk", "sk.kode", "=", "ts.unit_kerja") ->leftJoin("jenis_mobil as jm", "jm.id", "=", "dts.jenis_mobil") ->select( DB::raw(' ts.notrans as notrans , ts.nama , ts.alamat as alamat , ts.telepon as telepon, ts.awal as awal , ts.akhir as akhir, jl.nama as jmember, sk.nama as dept, dts.nopol, jm.nama vehicle, dts.jenis_member, cm.no_card as no_card'), ) ->distinct(); if ($searchBy && $searchValue !== "") { switch ($searchBy) { case "nama": $nama = strtolower($searchValue); $NAMA = strtoupper($searchValue); $dataStiker->where("ts.nama", "ILIKE", "%{$searchValue}%"); break; case "alamat": $dataStiker->where("ts.alamat", "like", "%{$searchValue}%"); break; case "nopol": $dataStiker->where("dts.nopol", "like", "%{$searchValue}%"); break; case "nocard": $dataStiker->where("cm.nocard", "like", "%{$searchValue}%"); break; case "notrans": $dataStiker->where("ts.notrans", "like", "%{$searchValue}%"); break; // case "": // $dataStiker->where("ts.nama", "like", "%{$searchValue}%"); // break; } } if ($memberType) { $dataStiker->where("ts.jenis_langganan", $memberType); } if ($unitKerja) { $dataStiker->where("ts.unit_kerja", $unitKerja); } if ($vehicle) { $dataStiker->where("dts.jenis_mobil", $vehicle); } if ($request->input("isActive") == "1") { $dataStiker->whereRaw("NOW() BETWEEN ts.awal AND ts.akhir"); } // Log::info($dataStiker->toSql()); $dataStiker = $dataStiker->get(); return response()->json($dataStiker); } } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create(Request $request) { Log::info("Data yang diperpanjang : " . json_encode($request->all())); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function checkField(Request $request) { Log::info("Data yang diterima : " . json_encode($request->all())); $validate = Validator::make($request->all(), [ "nopol" => "required|string|unique:detail_transaksi_stiker,nopol", // 'nocard' => 'string|exists:card_member,no_card', ]); $nocard = $request->input("nocard"); $nocardExists = DB::table("card_member")->where("no_card", $nocard)->exists(); if ($validate->fails()) { return response()->json(["response" => false, "message" => "Data sudah ada, coba yang lain"]); } return response()->json(["response" => true, "message" => "Data sudah ada"]); } public function store(Request $request, MakeStikerServices $makeStiker) { Log::info("Data yang diterima : " . json_encode($request->all())); $mountYearNow = Carbon::now()->format("m/Y"); // $cleanedData = stripslashes(trim($data)); // Log::debug('Modified : ' . json_encode($cleanedData)); // $dataStiker = json_decode($cleanedData, false); // Log::info('Debuggind data : ' . json_encode($dataStiker)); $getTrans = DB::table("indexnum") ->whereIn("nama", ["TRX", "IDN"]) ->pluck("value", "nama"); $noTrans = $getTrans->get("TRX"); $noID = $getTrans->get("IDN"); // Log::info("Get Trans : " . json_encode($getTrans)); // Log::info("No Trans : " . $noTrans); // Log::info("No ID : " . $noID); $noTransFormat = str_pad($noTrans, 5, "0", STR_PAD_LEFT); $noIDFormat = str_pad($noID, 5, "0", STR_PAD_LEFT); $getLocation = SoftSettings::first(); Log::info("Namalokasi : " . json_encode($getLocation->namalokasi)); $ignore = ["RS", "PT", "CV", "TBK"]; $nama = preg_replace("/[^A-Za-z0-9 ]/", "", $getLocation->namalokasi); $kata = preg_split("/\s+/", trim($nama)); $identity = ""; foreach ($kata as $k) { if (in_array(strtoupper($k), $ignore)) { continue; } $identity .= strtoupper($k[0]); } $randomNumber = strtoupper(Str::random(6)); $newTrans = "TRX-" . $identity . "-" . Carbon::now()->format("Ymd-His") . "-" . $randomNumber; $newID = "IDN-" . $identity . "-" . Carbon::now()->format("Ymd-His") . "-" . $randomNumber; // $noid = $seqId->value . "-IDT-" . $mountYearNow; // $validate = Validator::make($request->all(),[ // 'nama' => 'required|string|unique', // // 'nopol' => 'required|string|unique:detail_transaksi_stiker,nopol', // // 'nocard' => 'string|exists:card_member,no_card', // ]); // if ($validate->fails()) { // return response()->json(['response' => false, 'message' => 'pastikan nama, Nomor Polisi, dan data kartu sudah terisi']); // } // $dateNow = Carbon::now()->format("Y-m-d H:m:s"); // $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; // $user = Auth::user(); // // Log::info($user); $dataStiker = $request->input("formData"); $dataVehicle = $request->input("nopolData"); $dataCard = $request->input("cardNumber"); Log::info("Data Stiker : " . json_encode($dataStiker)); Log::info("Data Kendaraan : " . json_encode($dataVehicle)); Log::info("Data kartu : " . json_encode($dataCard)); if ($dataStiker["periode"]) { $periode = explode(" - ", $dataStiker["periode"]); Log::info("Parcing Periode : " . json_encode($periode)); $awal = Carbon::createFromFormat("d-m-Y H:i", $periode[0]); $akhir = Carbon::createFromFormat("d-m-Y H:i", $periode[1]); } else { $awal = Carbon::createFromFormat("d-m-Y H:i", $dataStiker["awal"]); $akhir = Carbon::createFromFormat("d-m-Y H:i", $dataStiker["akhir"]); } Log::info("Awal : " . $awal . " Akhir : " . $akhir); $dataStiker["notrans"] = $newTrans; $dataStiker["no_id"] = $newID; $dataStiker["awal"] = $awal; $dataStiker["akhir"] = $akhir; if (!empty($dataVehicle)) { foreach ($dataVehicle as &$vehicle) { $vehicle["notrans"] = $newTrans; } } if (!empty($dataCard)) { foreach ($dataCard as &$cardNumber) { $cardNumber["notrans"] = $newID; } } $createData = $makeStiker->stikerCreate( [ "dataSticker" => $dataStiker, "dataVehicle" => $dataVehicle ?? null, "dataCard" => $dataCard ?? null, ], $awal, $akhir, ); Log::info("Status penyimpanan : " . $createData); // 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); // 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(); // } return $createData; // return response()->json([ // // "response" => $response, // "response" => $createData, // "pesan" => $createData, // ]); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { Log::info("Data yang diterima : " . json_encode($id)); $dataStiker = StikerTrans // with("stiker_details.vehicle", "memberCard") ::select( "transaksi_stiker.notrans", "transaksi_stiker.nama", "transaksi_stiker.alamat", "transaksi_stiker.telepon", "transaksi_stiker.awal", "transaksi_stiker.akhir", "transaksi_stiker.jenis_langganan", "transaksi_stiker.unit_kerja", "transaksi_stiker.no_id", "transaksi_stiker.harga", "jl.nama as jmember", "sk.nama as dept", // "detail_transaksi_stiker.nama", // "detail_transaksi_stiker.tarif", ) ->leftJoin("jenis_langganan as jl", "jl.id", "=", "transaksi_stiker.jenis_langganan") ->leftJoin("stasiunkerja as sk", "sk.kode", "=", "transaksi_stiker.unit_kerja") ->where("notrans", "like", "%" . $id . "%") ->first(); $vehicleDetails = StikerTransDetail::query() ->from("detail_transaksi_stiker as dts") ->select("jm.nama as vehicle", "ts.tarif", "dts.*") ->leftJoin("jenis_mobil as jm", "dts.jenis_mobil", "=", "jm.id") ->leftJoin("tarif_stiker as ts", function ($join) { $join->on("dts.jenis_member", "=", "ts.jenis_langganan")->on("dts.jenis_mobil", "=", "ts.id_mobil"); }) ->where("notrans", $dataStiker->notrans) ->get(); $cardMember = MemberCard::where("notrans", $dataStiker->no_id)->get(); $dataStiker["stiker_details"] = $vehicleDetails; $dataStiker["memberCard"] = $cardMember; // $dataStiker = DB::table('transaksi_stiker as ts') // ->leftjoin('detail_transaksi_stiker as dts','dts.notrans','=','ts.notrans') // ->leftJoin('jenis_langganan as jl','jl.id','=','ts.jenis_langganan') // ->leftJoin('stasiunkerja as sk','sk.kode','=','ts.unit_kerja') // ->leftJoin('jenis_mobil as jm','jm.id','=','dts.jenis_mobil') // ->leftJoin('card_member as cm','cm.notrans','=','ts.no_id') // ->select(DB::raw(' // ts.notrans as notrans , ts.nama , ts.alamat as alamat , ts.telepon as telepon, // ts.awal as awal , ts.akhir as akhir, jl.nama as jmember, sk.nama as dept, dts.nopol, // jm.nama vehicle, dts.jenis_member, cm.no_card as no_card') // )->where('ts.notrans', 'like', '%' . $id . '%') // ->get(); Log::info("Data Stiker : " . json_encode($dataStiker)); return response()->json($dataStiker); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }