342 lines
13 KiB
PHP
342 lines
13 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use App\Poli;
|
|
use App\Periksa;
|
|
use App\Dokter;
|
|
use App\Ruangan;
|
|
use App\Subjawaban;
|
|
use App\Jawaban;
|
|
use App\Pasien;
|
|
use App\User;
|
|
use App\Jadwalperiksa;
|
|
use Carbon\Carbon;
|
|
use DateTime;
|
|
use Session;
|
|
|
|
class ListController extends Controller
|
|
{
|
|
public function index() {
|
|
if (Session::get('previlage') == ''){
|
|
return redirect('/login');
|
|
} else {
|
|
$polis = Poli::all();
|
|
$ruangans = Ruangan::all();
|
|
$dokters = Dokter::all();
|
|
$answers = Jawaban::all();
|
|
$details = Subjawaban::all();
|
|
$ruangpolis = Ruangan::groupBy('poli')->select('poli')->get();
|
|
$data = [];
|
|
$i = 0;
|
|
foreach ($ruangpolis as $ruangpoli) {
|
|
$j = 0;
|
|
$ruangpoli = $ruangpoli->poli;
|
|
$rooms = Ruangan::where('poli', $ruangpoli)->get();
|
|
foreach ($rooms as $room) {
|
|
$data['ruangans'][$i][$j]['id'] = $room->id;
|
|
$data['ruangans'][$i][$j]['ruangan'] = $room->ruangan;
|
|
$j++;
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
$x = 0;
|
|
foreach ($ruangpolis as $ruangpoli) {
|
|
$data['ruangpolis'][$x] = $ruangpoli->poli;
|
|
$x++;
|
|
}
|
|
|
|
$data['polis'] = $polis;
|
|
$data['dokters'] = $dokters;
|
|
$data['answers'] = $answers;
|
|
$data['details'] = $details;
|
|
|
|
return view('admin.list', $data);
|
|
}
|
|
|
|
}
|
|
public function getList(Request $request) {
|
|
$jenis = $request->input('jenis');
|
|
$mulai = $request->input('mulai');
|
|
$akhir = $request->input('akhir');
|
|
$lokasi = $request->input('poli');
|
|
$valcari = $request->input('valcari');
|
|
$master = $request->input('master');
|
|
if ($jenis == 'verificationppds'){
|
|
$valcari = $request->input('poli');
|
|
}
|
|
$total = 0;
|
|
$data = $this->getDataBasedOnMaster($master, $jenis, $mulai, $akhir, $valcari);
|
|
if (!empty($data)){
|
|
$dataArray = $data->get()->toArray();
|
|
$total = count($dataArray);
|
|
$arraylist = array_map(function ($list) use ($master) {
|
|
$tgl = $list['tgllahirpasien'];
|
|
$poli_id = $list['poli_id'];
|
|
$foto = $list['foto'];
|
|
$baca = $list['baca'];
|
|
$export = $list['export'];
|
|
$nofoto = $list['nofoto'];
|
|
$noregister = $list['noregister'];
|
|
$usia = $list['usia'];
|
|
$urgensi = $list['urgensi'];
|
|
$reques = $list['reques'];
|
|
$ruangan = $list['ruangan'];
|
|
$daftar = $list['daftar'];
|
|
$status = $list['status'];
|
|
$asalpasien = $list['asalpasien'];
|
|
$dokter_id = $list['dokter_id'];
|
|
$ppdssenior = $list['ppdssenior'];
|
|
$middleppds = $list['middleppds'];
|
|
$ppdsjunior = $list['ppdsjunior'];
|
|
$middleppds2= $list['ppdsmiddle2'];
|
|
$ppdsjunior2= $list['ppdsjunior2'];
|
|
$pasiedin = $list['pasien_id'];
|
|
$keterangan = $list['keterangan'];
|
|
$kesimpulan = $list['kesimpulan'];
|
|
$verifikasi = $list['verifikasi'];
|
|
$nama = $list['nmpasien'];
|
|
$jk = $list['jkpasien'];
|
|
$telpon = $list['tlppasien'];
|
|
$alamat = $list['alamatpasien'];
|
|
$tgllahir = $list['tgllahirpasien'];
|
|
$ktp = $list['ktp'];
|
|
$bpjs = $list['bpjs'];
|
|
$nmpendaftar= $list['pendaftar'];
|
|
if ($nmpendaftar == 'supervisor' OR $nmpendaftar == 'admin' OR $nmpendaftar == 'analis' OR $nmpendaftar == 'ppds' OR $nmpendaftar == 'developer'){
|
|
$nmpendaftar = $list['nmpendaftar'];
|
|
} else {
|
|
$nmpendaftar = 'SIMRS';
|
|
}
|
|
$from = $verifikasi ? \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $verifikasi) : null;
|
|
$to = $verifikasi ? \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $verifikasi)->toString() : '';
|
|
if ($from && $from->isValid()) {
|
|
$durasi = $verifikasi ? \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $verifikasi)->diffForHumans($from) : 'On Progress';
|
|
} else {
|
|
$durasi = 'On Progress';
|
|
}
|
|
if ($middleppds2 != 0){
|
|
$ppdsas = 'Middle';
|
|
$otherppds = $list['nmppdsmiddle2'];
|
|
} else {
|
|
$ppdsas = 'Junior';
|
|
$otherppds = $ppdsjunior2;
|
|
$otherppds = $list['nmppdsjunior2'];
|
|
}
|
|
|
|
$arrdaftar = explode(" ", $daftar);
|
|
$tgldaftar = $arrdaftar[0];
|
|
$jamdaftar = $arrdaftar[1];
|
|
$daftar = $tgldaftar;
|
|
$tglfoto = $foto ?: date("Y-m-d H:i:s");
|
|
$datatampilan = $this->setStatusStyles($status, $nofoto, $noregister, $nama, $telpon, $jk, $usia, $urgensi, $reques, $ruangan, $daftar, $asalpasien);
|
|
return [
|
|
'asalpasien' => $list['asalpasien'],
|
|
'tlsnofoto' => $datatampilan['nofoto'],
|
|
'tlsnoregister' => $datatampilan['noregister'],
|
|
'tlsnama' => $datatampilan['nama'],
|
|
'tlsjk' => $datatampilan['jk'],
|
|
'tlsusia' => $datatampilan['usia'],
|
|
'tlsurgensi' => ($list['urgensi'] == 'CITO') ? '<span style="background-color: red;">C I T O</span>' : $datatampilan['urgensi'],
|
|
'tlsreques' => $datatampilan['reques'],
|
|
'tlsruangan' => $list['ruangan'],
|
|
'tlsdaftar' => $datatampilan['daftar'],
|
|
'tlsstatus' => $datatampilan['status'],
|
|
'id' => $list['id'],
|
|
'nofoto' => $nofoto,
|
|
'noregister' => $noregister,
|
|
'nama' => $nama,
|
|
'jk' => $jk,
|
|
'usia' => $usia,
|
|
'urgensi' => $urgensi,
|
|
'poli' => $reques,
|
|
'idpasien' => $pasiedin,
|
|
'ruangan' => $ruangan,
|
|
'daftar' => $list['daftar'],
|
|
'daftartgl' => $daftar,
|
|
'daftarjam' => $jamdaftar,
|
|
'status' => $status,
|
|
'dokter' => $master != 'kiriman' ? $list['nmdokter'] : '',
|
|
'ppds1' => $master != 'kiriman' ? $list['nmppdssenior'] : '',
|
|
'ppds2' => $master != 'kiriman' ? $list['nmmiddleppds'] : '',
|
|
'ppds3' => $master != 'kiriman' ? $list['nmppdsjunior'] : '',
|
|
'keterangan' => $keterangan,
|
|
'kesimpulan' => $kesimpulan,
|
|
'noloket' => $list['noloket'],
|
|
'idruangan' => $list['ruangan_id'],
|
|
'iddokter' => $list['dokter_id'],
|
|
'ppdssenior' => $list['ppdssenior'],
|
|
'middleppds' => $list['middleppds'],
|
|
'ppdsjunior' => $list['ppdsjunior'],
|
|
'diagnosa' => $list['diagnosa'],
|
|
'diagnosa2' => $list['diagnosa2'],
|
|
'kd_spesimen' => $list['kd_spesimen'],
|
|
'nm_spesimen' => $list['nm_spesimen'],
|
|
'berat' => $list['berat'],
|
|
'klinis' => $list['klinis'],
|
|
'klinisi' => $list['klinisi'],
|
|
'filefoto' => $list['filefoto'],
|
|
'dlp' => $list['dlp'],
|
|
'analis' => $list['analis'],
|
|
'excutor' => $list['excutor'],
|
|
'modality' => $list['modality'],
|
|
'viewfoto' => $list['foto'],
|
|
'tglfoto' => $tglfoto,
|
|
'nmppdssenior' => $list['nmppdssenior'],
|
|
'nmmiddleppds' => $list['nmmiddleppds'],
|
|
'nmppdsjunior' => $list['nmppdsjunior'],
|
|
'nmppdsmiddle2' => $list['nmppdsmiddle2'],
|
|
'nmppdsjunior2' => $list['nmppdsjunior2'],
|
|
'nmanalis' => $list['nmanalis'],
|
|
'nmexcutor' => $list['nmexcutor'],
|
|
'telpon' => $list['tlppasien'],
|
|
'asuransi' => $list['asuransi'],
|
|
'tgllahir' => $list['tgllahirpasien'],
|
|
'alamat' => $list['alamatpasien'],
|
|
'poli_id' => $list['poli_id'],
|
|
'nmpendaftar' => $nmpendaftar,
|
|
'timestamp1' => $from ? $from->toString() : null,
|
|
'timestamp2' => $to,
|
|
'durasi' => $durasi,
|
|
'ppdsas' => $ppdsas,
|
|
'otherppds' => $otherppds,
|
|
'ktp' => $ktp,
|
|
'bpjs' => $bpjs,
|
|
];
|
|
}, $dataArray);
|
|
}
|
|
$response = [
|
|
'message' => 'List Laporan',
|
|
'data' => $arraylist,
|
|
'total' => $total
|
|
];
|
|
return response()->json($response, 200);
|
|
}
|
|
public function listDetail(Request $request) {
|
|
$id = $request->input('id');
|
|
$periksa = DB::table('periksa')->where('id', $id)->first();
|
|
echo json_encode($periksa);
|
|
}
|
|
public function delete(Request $request) {
|
|
$id = $request->input('val01');
|
|
$alasan = $request->input('val02');
|
|
$tabel = $request->input('val03');
|
|
if ($id == 'buatulang'){
|
|
$getdata= Periksa::where('id', $request->input('val02'))->first();
|
|
if (isset($getdata->nofoto)){
|
|
$ceksudah = Periksa::where('nofoto', 'LIKE', $getdata->nofoto.'_%')->count();
|
|
$nomorbaru = $ceksudah++;
|
|
$periksaid = Periksa::insertGetId([
|
|
'mulai' => $getdata->mulai,
|
|
'akhir' => $getdata->akhir,
|
|
'noloket' => $getdata->noloket,
|
|
'nofoto' => $getdata->nofoto.'_'.$nomorbaru,
|
|
'noregister' => $getdata->noregister,
|
|
'asalpasien' => $getdata->asalpasien,
|
|
'nmrs' => $getdata->nmrs,
|
|
'pasien_id' => $getdata->pasien_id,
|
|
'nmpasien' => $getdata->nmpasien,
|
|
'jkpasien' => $getdata->jkpasien,
|
|
'ktp' => $getdata->ktp,
|
|
'bpjs' => $getdata->bpjs,
|
|
'tgllahirpasien'=> $getdata->tgllahirpasien,
|
|
'tlppasien' => $getdata->tlppasien,
|
|
'alamatpasien' => $getdata->alamatpasien,
|
|
'reques' => $getdata->reques,
|
|
'usia' => $getdata->usia,
|
|
'berat' => $getdata->berat,
|
|
'ruangan_id' => $getdata->ruangan_id,
|
|
'ruangan' => $getdata->ruangan,
|
|
'klinisi' => $getdata->klinisi,
|
|
'klinis' => $getdata->klinis,
|
|
'poli_id' => $getdata->poli_id,
|
|
'kd_spesimen' => $getdata->kd_spesimen,
|
|
'nm_spesimen' => $getdata->nm_spesimen,
|
|
'keterangan' => '',
|
|
'kesimpulan' => '',
|
|
'asuransi' => $getdata->asuransi,
|
|
'urgensi' => $getdata->urgensi,
|
|
'daftar' => $getdata->daftar,
|
|
'pendaftar' => Session('id'),
|
|
'nmpendaftar' => Session('nama'),
|
|
'orderid' => $getdata->orderid,
|
|
]);
|
|
try {
|
|
if ($getdata->kd_spesimen != '' AND $getdata->nm_spesimen != ''){
|
|
PendaftaranOnListiner::updateOrCreate(
|
|
[
|
|
'rnoreg' => $getdata->nofoto,
|
|
],
|
|
[
|
|
'rtglast' => date('Y-m-d'),
|
|
'norm' => $getdata->noregister,
|
|
'nama' => $getdata->nmpasien,
|
|
'alamat' => $getdata->alamatpasien,
|
|
'telp' => $getdata->tlppasien,
|
|
'hp' => $getdata->tlppasien,
|
|
'tgllahir' => $getdata->tgllahirpasien,
|
|
'umur' => $getdata->usia,
|
|
'rjenis' => $getdata->jkpasien,
|
|
'kodedok' => Session('id'),
|
|
'namadok' => Session('nama'),
|
|
'ruangan' => $getdata->ruangan,
|
|
'tes' => '',
|
|
'alat' => 'All',
|
|
'kd_spesimen' => $getdata->kd_spesimen,
|
|
'nm_spesimen' => $getdata->nm_spesimen,
|
|
]
|
|
);
|
|
}
|
|
return response()->json(['status' => 'Sukses', 'message' => 'Data Order Berhasil di Gandakan'], 201);
|
|
} catch (Exception $e) {
|
|
return response()->json(['status' => 'Sukses', 'message' => 'Data Order Berhasil di Gandakan'], 201);
|
|
}
|
|
} else {
|
|
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Data Tidak Valid']);
|
|
return back();
|
|
}
|
|
} else {
|
|
if ($alasan == ''){
|
|
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Mohon isi semua form']);
|
|
return back();
|
|
} else {
|
|
if ($tabel == 'aktif'){
|
|
$alasan = 'Dibatalkan dengan alasan '.$alasan;
|
|
$input = Periksa::where('id', $id)->update([
|
|
'noloket' => null,
|
|
'status' => $alasan
|
|
]);
|
|
$pesan = 'Order Expertise Canceled';
|
|
} else if ($tabel == 'arsip'){
|
|
$total = 0;
|
|
$input = Periksa::whereIn('id', $id)->update([
|
|
'status'=> 'Arsip'
|
|
]);
|
|
if ($input){
|
|
$total++;
|
|
}
|
|
$pesan = 'Expertise Archieved '.$total;
|
|
} else {
|
|
$alasan = 'Dibatalkan dengan alasan '.$alasan;
|
|
$input = Jadwalperiksa::where('id', $id)->update([
|
|
'noloket' => null,
|
|
'status' => $alasan
|
|
]);
|
|
$pesan = 'Schedulling Canceled';
|
|
}
|
|
if ($input){
|
|
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => $pesan]);
|
|
return back();
|
|
}else {
|
|
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'System Down, please try again in a few years...']);
|
|
return back();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|