Files
lis/htdocs/app/Http/Controllers/ListController.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();
}
}
}
}
}