Files
lis/htdocs/app/Http/Controllers/PasienController.php
2025-07-16 07:36:13 +07:00

226 lines
7.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Filetemp;
use App\User;
use App\Periksa;
use App\Pasien;
use GuzzleHttp\Client;
use Validator;
use DateTime;
use Carbon\Carbon;
use Session;
class PasienController extends Controller
{
public function index() {
if (Session::get('previlage') == ''){
return redirect('/login');
} else {
$data = [];
return view('admin.pasien', $data);
}
}
public function store(Request $request) {
$validator = Validator::make($request->all(), [
'nama' => 'required',
'jk' => 'required',
'tgl_lahir' => 'required',
'kota' => 'required',
'alamat' => 'required',
'telpon' => 'required'
]);
$old_date = $request->input('tgl_lahir');
$date = date("Y-m-d", strtotime($old_date));
if($validator->fails()) {
return response()->json(['status' => 'error', 'message' => 'Please fill input field or fill with right input']);
} else {
$norm = $request->input('norm');
$norm = strtoupper($norm);
Pasien::create([
'norm' => $norm,
'nama' => $request->input('nama'),
'jk' => $request->input('jk'),
'tgl_lahir' => $date,
'telpon' => $request->input('telpon'),
'kota' => $request->input('kota'),
'alamat' => $request->input('alamat')
]);
Session::flash('message', 'Data berhasil disimpan');
Session::flash('alert-class', 'alert-success');
return back();
}
}
public function getPasien(Request $request) {
$id = $request->input('id');
$result = DB::table('pasien')->where('id', $id)->first();
$tgllahir = $result->tgl_lahir;
$arrtgl = explode('-', $tgllahir);
$yy = $arrtgl[0];
$mm = $arrtgl[1];
$dd = $arrtgl[2];
$tgllahir = $dd.'-'.$mm.'-'.$yy;
$arrayfnk[] = array(
'telpon' => $result->telpon,
'nama' => $result->nama,
'tgl_lahir' => $result->tgl_lahir,
'alamat' => $result->alamat,
'id' => $result->id,
'norm' => $result->norm,
'jk' => $result->jk,
'kota' => $result->kota,
'nik' => $result->nik,
'bpjs' => $result->bpjs,
);
echo json_encode($arrayfnk);
}
public function getPatienalllist(Request $request) {
$data = Pasien::all();
echo json_encode($data);
}
public function getPasienbynorm(Request $request) {
$norm = $request->input('id');
$getdatalokal = Pasien::where('norm', $norm)->first();
if (isset($getdatalokal->nama)){
$tgl_lahir = $getdatalokal->tgl_lahir;
$arrdate = explode('-', $tgl_lahir);
$yy = $arrdate[0];
$mm = $arrdate[1];
$dd = $arrdate[2];
$tgl_lahir = $dd.'-'.$mm.'-'.$yy;
return response()->json([
'id' => $getdatalokal->id,
'norm' => $getdatalokal->norm,
'telpon' => $getdatalokal->telpon,
'nama' => $getdatalokal->nama,
'tgl_lahir' => $getdatalokal->tgl_lahir,
'jk' => $getdatalokal->jk,
'alamat' => $getdatalokal->alamat,
'kota' => $getdatalokal->kota,
'nik' => $getdatalokal->nik,
'bpjs' => $getdatalokal->bpjs,
]);
} else {
try {
$client = new Client();
$res = $client->request('GET', 'http://10.10.123.51:8000/mr/'.$norm);
$response_data = json_decode($res->getBody()->getContents());
if (isset($response_data[0])) {
$hasil = $response_data[0];
$nama = $hasil->Nama;
$alamat = $hasil->Alamat;
$telpon = $hasil->Telp;
$kota = $hasil->Kota;
$kelamin = $hasil->JenisKelamin;
$tgllahir = $hasil->tanggal_lahir;
$nik = $hasil->nik;
$bpjs = $hasil->bpjs;
if ($kelamin == 'WANITA'){
$kelamin = 'P';
} else { $kelamin = 'L'; }
return response()->json([
'id' => 'new',
'norm' => $norm,
'telpon' => $telpon,
'nama' => $nama,
'tgl_lahir' => $tgllahir,
'jk' => $kelamin,
'alamat' => $alamat,
'kota' => $kota,
'nik' => $nik,
'bpjs' => $bpjs,
]);
} else {
return response()->json([
'id' => '',
'telpon' => '000000000',
'norm' => $norm,
'nama' => '',
'tgl_lahir' => date("d-m-Y"),
'jk' => 'L',
'alamat' => 'Malang',
'kota' => 'Malang',
'nik' => '',
'bpjs' => '',
]);
}
}catch (Exception $e) {
return response()->json([
'id' => '',
'telpon' => '000000000',
'norm' => $norm,
'nama' => '',
'tgl_lahir' => date("d-m-Y"),
'jk' => 'L',
'alamat' => $e->getMessage(),
'kota' => 'Malang',
'nik' => '',
'bpjs' => '',
]);
}
}
}
public function update(Request $request) {
$validator = Validator::make($request->all(), [
'nama' => 'required',
'jk' => 'required',
'tgl_lahir' => 'required',
'kota' => 'required',
'telpon' => 'required',
'alamat' => 'required'
]);
if($validator->fails()) {
return response()->json(['status' => 'error', 'message' => 'Please fill input field or fill with right input']);
} else {
$id = $request->input('id_pasien');
$old_date = $request->input('tgl_lahir');
$date = date("Y-m-d", strtotime($old_date));
$norm = $request->input('norm');
$norm = strtoupper($norm);
$siapa = Session('nama');
$kapan = date('Y-m-d H:i:s');
$keterangan = 'Diupdate Oleh '.$siapa.' Pada '.$kapan;
try {
Pasien::updateOrCreate(
[
'norm' => $norm,
],
[
'nama' => $request->input('nama'),
'jk' => $request->input('jk'),
'tgl_lahir' => $date,
'telpon' => $request->input('telpon'),
'kota' => $request->input('kota'),
'alamat' => $request->input('alamat'),
'keterangan' => $keterangan
]
);
Session::flash('message', 'Data berhasil disimpan');
Session::flash('alert-class', 'alert-success');
return back();
} catch (\Exception $e) {
Session::flash('message', $e->getMessage());
Session::flash('alert-class', 'alert-succdangeress');
return back();
}
}
}
public function delete(Request $request) {
$id = $request->pasien_id;
$pasien = Pasien::find($id);
$hapus = $pasien->delete();
if ($hapus) {
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Data Deleted..!!!']);
return back();
} else {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Error.!!', 'message' => 'System Down, please try again in a few years....']);
return back();
}
}
}