Files
lis/htdocs/app/Http/Controllers/ListController.php
Duidev Software House c0c7c1b5fd update
2025-10-27 08:09:17 +07:00

503 lines
27 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 App\PendaftaranOnListiner;
use Carbon\Carbon;
use DateTime;
use Session;
use Illuminate\Support\Facades\Log;
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');
$lamanurlhasil = url('/').'/hasil/';
if ($jenis === null){$jenis = '';}
if ($master == 'logbook') {
list($start, $end) = explode(' - ', $mulai);
$startDate = Carbon::createFromFormat('m/d/Y', $start)->format('Y-m-d');
$endDate = Carbon::createFromFormat('m/d/Y', $end)->format('Y-m-d');
$arraylist = Periksa::select('id', 'mulai', 'akhir', 'noloket', 'nofoto', 'noregister', 'asalpasien', 'nmrs', 'pasien_id', 'nmpasien', 'jkpasien', 'tgllahirpasien', 'tlppasien', 'alamatpasien', 'reques', 'usia', 'berat', 'ruangan_id', 'ruangan', 'dokter_id', 'ppdssenior', 'middleppds', 'ppdsjunior', 'ppdsmiddle2', 'ppdsjunior2', 'analis', 'excutor', 'nmdokter', 'nmppdssenior', 'nmmiddleppds', 'nmppdsjunior', 'nmppdsmiddle2', 'nmppdsjunior2', 'nmanalis', 'nmexcutor', 'klinisi', 'klinis', 'keterangan', 'kesimpulan', 'poli_id', 'asuransi', 'urgensi', 'diagnosa', 'diagnosa2', 'modality', 'dlp', 'daftar', 'foto', 'tgldraft', 'nmdrafter', 'baca', 'nmpembaca', 'verifikasi', 'export', 'tgladendum', 'nmadendum', 'filefoto', 'status', 'created_at', 'updated_at',
DB::raw("CASE
WHEN ppdssenior = $valcari THEN 'SENIOR'
WHEN middleppds = $valcari THEN 'MIDDLE'
WHEN ppdsjunior = $valcari THEN 'JUNIOR'
WHEN ppdsmiddle2 = $valcari THEN 'MIDDLE'
ELSE 'JUNIOR'
END AS role"));
$arraylist = $arraylist->whereBetween('daftar', [$startDate, $endDate]);
$arraylist = $arraylist->where(function($query) use ($valcari) {
$query->where('ppdssenior', $valcari)
->orWhere('middleppds', $valcari)
->orWhere('ppdsjunior', $valcari)
->orWhere('ppdsmiddle2', $valcari)
->orWhere('ppdsjunior2', $valcari);
})->get();
} else if ($master == 'pengambilan') {
$arraylist = Periksa::select(
DB::raw("CONCAT('<span class=\"badge badge-success\">', nofoto, '</span>') as tlsnofoto"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', noregister, '</span>') as tlsnoregister"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', nmpasien, '</span>') as tlsnama"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', urgensi, '</span>') as tlsurgensi"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', reques, '</span>') as tlsreques"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', ruangan, '</span>') as tlsruangan"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', daftar, '</span>') as tlsdaftar"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', status, '</span>') as tlsstatus"),
DB::raw("CONCAT('<span class=\"badge badge-success\">', asalpasien, '</span>') as asalpasien"),
'tlppasien as telpon', 'ruangan_id as idruangan', 'dokter_id as iddokter', 'id', 'daftar', 'nofoto', 'noloket', 'nmdokter as dokter')->whereNotNull('verifikasi')->where('status', '!=', 'Arsip');
if ($valcari != ''){
if ($jenis == 'norm'){
$arraylist = $arraylist->where('noregister', $valcari);
} else {
$arraylist = $arraylist->where('nofoto', $valcari);
}
}
if ($akhir != '' AND $mulai != $akhir){
$arraylist = $arraylist->whereBetween('daftar', [$mulai, $akhir]);
} else {
if ($jenis == 'ThisDay' OR $jenis == ''){
if ($mulai == '' OR is_null($mulai)){ $mulai = date('Y-m-d'); }
$arraylist = $arraylist->whereDate('daftar', $mulai);
} else if ($jenis == 'mundur2'){
$arraylist = $arraylist->whereDate('daftar', '>=', Carbon::today()->subDays(2));
} else if ($jenis == 'mundur3'){
$arraylist = $arraylist->whereDate('daftar', '>=', Carbon::today()->subDays(2));
} else {
}
}
$arraylist = $arraylist->get();
} else if ($master == 'verificationppds') {
$arraylist = Periksa::select(
'id', 'mulai', 'akhir', 'orderid', 'noloket', 'nofoto', 'noregister', 'asalpasien', 'nmrs', 'pasien_id', 'nmpasien',
'jkpasien', 'tgllahirpasien', 'tlppasien', 'alamatpasien', 'reques', 'usia', 'berat', 'ktp', 'bpjs', 'ruangan_id',
'ruangan', 'dokter_id', 'ppdssenior', 'middleppds', 'ppdsjunior', 'ppdsmiddle2', 'ppdsjunior2', 'analis', 'excutor',
'nmdokter', 'nmppdssenior', 'nmmiddleppds', 'nmppdsjunior', 'nmppdsmiddle2', 'nmppdsjunior2', 'nmanalis', 'nmexcutor',
'klinisi', 'klinis', 'keterangan', 'kesimpulan', 'poli_id', 'asuransi', 'urgensi', 'diagnosa', 'diagnosa2', 'modality',
'kd_spesimen', 'nm_spesimen', 'dlp', 'daftar', 'foto', 'tgldraft', 'nmdrafter', 'baca', 'nmpembaca', 'verifikasi',
'export', 'tgladendum', 'nmadendum', 'filefoto', 'pendaftar', 'status', 'created_at', 'updated_at',
'bhp_media', 'bhp_potsputum', 'bhp_poturine', 'bhp_oshe', 'bhp_obyekglass', 'bhp_botolbd', 'bhp_parafilm',
'bhp_tips', 'bhp_cottonswab', 'bhp_antibiotiktambahan', 'id_esbl', 'id_mrsa', 'rating', 'nmpendaftar',
DB::raw("DATE(daftar) as daftartgl"),
DB::raw("TO_CHAR(daftar, 'HH24:MI:SS') as daftarjam"),
DB::raw("TO_CHAR(export, 'HH24:MI:SS') as cetakjam"),
DB::raw("TO_CHAR(verifikasi, 'HH24:MI:SS') as verifikasijam"),
DB::raw("TO_CHAR(baca, 'HH24:MI:SS') as bacajam"),
DB::raw("TO_CHAR(foto, 'HH24:MI:SS') as fotojam"),
DB::raw("CASE WHEN jkpasien = 'L' THEN '1' ELSE '' END AS l"),
DB::raw("CASE WHEN jkpasien = 'P' THEN '1' ELSE '' END AS p"),
DB::raw("CONCAT('https://10.10.123.218/hasil/', nofoto::text) as urlhasil"),
DB::raw("CASE WHEN asuransi IN ('JKN', 'BPJS') THEN '1' ELSE '' END AS jkn"),
DB::raw("CASE WHEN asuransi = 'Billing' THEN '1' ELSE '' END AS billing"),
DB::raw("CASE WHEN asuransi = 'GCU' THEN '1' ELSE '' END AS gcu"),
DB::raw("CASE WHEN asuransi IN ('MANDIRI', 'Umum') THEN '1' ELSE '' END AS umum"),
DB::raw("CASE WHEN asuransi = 'SWASTA' THEN '1' ELSE '' END AS swasta"),
DB::raw("CASE WHEN asuransi = 'TAG' THEN '1' ELSE '' END AS tag"),
DB::raw("CASE WHEN urgensi != 'CITO' THEN '1' ELSE '' END AS elective"),
DB::raw("CASE WHEN urgensi = 'CITO' THEN '1' ELSE '' END AS cito"),
DB::raw("CASE
WHEN status IS NULL THEN '<span class=\"badge badge-danger\">NEW</span>'
WHEN status LIKE '%Dibatalkan%' THEN '<font color=grey>Batal</font>'
WHEN status LIKE '%Pemeriksaan Sampel%' THEN '<font color=green>Pemeriksaan Sampel</font>'
WHEN status LIKE '%Proses Analisis Sampel%' THEN '<strong>Diperiksa</strong>'
WHEN status LIKE '%Draft%' THEN '<font color=green>Draft</font>'
WHEN status LIKE '%Expertise%' THEN '<strong><font color=green>Expertise</font></strong>'
WHEN status LIKE '%Decliend%' THEN '<strong><font color=red>Decliend</font></strong>'
WHEN status LIKE '%Selesai%' THEN '<span class=\"badge badge-success\">Selesai</span>'
WHEN status LIKE '%Arsip%' THEN '<span class=\"badge badge-primary\">Arsip</span>'
ELSE '<font color=red>Unkown</font>'
END AS tlsstatus"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', nofoto::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', nofoto::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', nofoto::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', nofoto::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', nofoto::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nofoto::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nofoto::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nofoto::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
ELSE CONCAT('<font color=red>', nofoto::text, '</font>')
END AS tlsnofoto"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', noregister::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', noregister::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', noregister::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', noregister::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', noregister::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', noregister::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', noregister::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', noregister::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
ELSE CONCAT('<font color=red>', noregister::text, '</font>')
END AS tlsnoregister"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', nmpasien::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', nmpasien::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', nmpasien::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', nmpasien::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', nmpasien::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nmpasien::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nmpasien::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nmpasien::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
ELSE CONCAT('<font color=red>', nmpasien::text, '</font>')
END AS tlsnama"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', reques::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', reques::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', reques::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', reques::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', reques::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', reques::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', reques::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', reques::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
ELSE CONCAT('<font color=red>', reques::text, '</font>')
END AS tlsreques")
);
if ($lokasi == 'allspv'){
$arraylist = $arraylist->where('status', 'LIKE', 'Expertise Saved (Un Verified)')->whereNull('periksa.verifikasi');
} else {
$arraylist = $arraylist->where('status', 'LIKE', 'Expertise Saved (Un Verified)')->whereNull('periksa.verifikasi')->where('periksa.dokter_id', Session('id'));
}
$arraylist = $arraylist->get();
} else {
$arraylist = Periksa::select(
'id', 'mulai', 'akhir', 'orderid', 'noloket', 'nofoto', 'noregister', 'asalpasien', 'nmrs', 'pasien_id', 'nmpasien',
'jkpasien', 'tgllahirpasien', 'tlppasien', 'alamatpasien', 'reques', 'usia', 'berat', 'ktp', 'bpjs', 'ruangan_id',
'ruangan', 'dokter_id', 'ppdssenior', 'middleppds', 'ppdsjunior', 'ppdsmiddle2', 'ppdsjunior2', 'analis', 'excutor',
'nmdokter', 'nmppdssenior', 'nmmiddleppds', 'nmppdsjunior', 'nmppdsmiddle2', 'nmppdsjunior2', 'nmanalis', 'nmexcutor',
'klinisi', 'klinis', 'keterangan', 'kesimpulan', 'poli_id', 'asuransi', 'urgensi', 'diagnosa', 'diagnosa2', 'modality',
'kd_spesimen', 'nm_spesimen', 'dlp', 'daftar', 'foto', 'tgldraft', 'nmdrafter', 'baca', 'nmpembaca', 'verifikasi',
'export', 'tgladendum', 'nmadendum', 'filefoto', 'pendaftar', 'status', 'created_at', 'updated_at',
'bhp_media', 'bhp_potsputum', 'bhp_poturine', 'bhp_oshe', 'bhp_obyekglass', 'bhp_botolbd', 'bhp_parafilm',
'bhp_tips', 'bhp_cottonswab', 'bhp_antibiotiktambahan', 'id_esbl', 'id_mrsa', 'rating', 'nmpendaftar',
DB::raw("DATE(daftar) as daftartgl"),
DB::raw("TO_CHAR(daftar, 'HH24:MI:SS') as daftarjam"),
DB::raw("TO_CHAR(export, 'HH24:MI:SS') as cetakjam"),
DB::raw("TO_CHAR(verifikasi, 'HH24:MI:SS') as verifikasijam"),
DB::raw("TO_CHAR(baca, 'HH24:MI:SS') as bacajam"),
DB::raw("TO_CHAR(foto, 'HH24:MI:SS') as fotojam"),
DB::raw("CASE WHEN jkpasien = 'L' THEN '1' ELSE '' END AS l"),
DB::raw("CASE WHEN jkpasien = 'P' THEN '1' ELSE '' END AS p"),
DB::raw("CONCAT('https://10.10.123.218/hasil/', nofoto::text) as urlhasil"),
DB::raw("CASE WHEN asuransi IN ('JKN', 'BPJS') THEN '1' ELSE '' END AS jkn"),
DB::raw("CASE WHEN asuransi = 'Billing' THEN '1' ELSE '' END AS billing"),
DB::raw("CASE WHEN asuransi = 'GCU' THEN '1' ELSE '' END AS gcu"),
DB::raw("CASE WHEN asuransi IN ('MANDIRI', 'Umum') THEN '1' ELSE '' END AS umum"),
DB::raw("CASE WHEN asuransi = 'SWASTA' THEN '1' ELSE '' END AS swasta"),
DB::raw("CASE WHEN asuransi = 'TAG' THEN '1' ELSE '' END AS tag"),
DB::raw("CASE WHEN urgensi != 'CITO' THEN '1' ELSE '' END AS elective"),
DB::raw("CASE WHEN urgensi = 'CITO' THEN '1' ELSE '' END AS cito"),
DB::raw("CASE
WHEN status IS NULL THEN '<span class=\"badge badge-danger\">NEW</span>'
WHEN status LIKE '%Dibatalkan%' THEN '<font color=grey>Batal</font>'
WHEN status LIKE '%Pemeriksaan Sampel%' THEN '<font color=green>Pemeriksaan Sampel</font>'
WHEN status LIKE '%Proses Analisis Sampel%' THEN '<strong>Diperiksa</strong>'
WHEN status LIKE '%Draft%' THEN '<font color=green>Draft</font>'
WHEN status LIKE '%Expertise%' THEN '<strong><font color=green>Expertise</font></strong>'
WHEN status LIKE '%Decliend%' THEN '<strong><font color=red>Decliend</font></strong>'
WHEN status LIKE '%Selesai%' THEN '<span class=\"badge badge-success\">Selesai</span>'
WHEN status LIKE '%Arsip%' THEN '<span class=\"badge badge-primary\">Arsip</span>'
WHEN status LIKE '%Data Vitek di Terima%' THEN '<span class=\"badge badge-warning\">Data Vitek di Terima</span>'
WHEN status LIKE '%Data BD di Terima%' THEN '<span class=\"badge badge-info\">Data BD di Terima</span>'
ELSE CONCAT('<span class=\"badge badge-secondary\">', status::text, '</span>')
END AS tlsstatus"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', nofoto::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', nofoto::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', nofoto::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', nofoto::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', nofoto::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nofoto::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nofoto::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nofoto::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
ELSE CONCAT('<font color=red>', nofoto::text, '</font>')
END AS tlsnofoto"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', noregister::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', noregister::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', noregister::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', noregister::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', noregister::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', noregister::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', noregister::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', noregister::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
ELSE CONCAT('<font color=red>', noregister::text, '</font>')
END AS tlsnoregister"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', nmpasien::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', nmpasien::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', nmpasien::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', nmpasien::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', nmpasien::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nmpasien::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nmpasien::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nmpasien::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
ELSE CONCAT('<font color=red>', nmpasien::text, '</font>')
END AS tlsnama"),
DB::raw("CASE
WHEN status IS NULL THEN CONCAT('<span class=\"badge badge-danger\">', reques::text, '</span>')
WHEN status LIKE '%Dibatalkan%' THEN CONCAT('<font color=grey>', reques::text, '</font>')
WHEN status LIKE '%Pemeriksaan Sampel%' THEN CONCAT('<font color=green>', reques::text, '</font>')
WHEN status LIKE '%Proses Analisis Sampel%' THEN CONCAT('<strong>', reques::text, '</strong>')
WHEN status LIKE '%Draft%' THEN CONCAT('<font color=green>', reques::text, '</font>')
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', reques::text, '</font></strong>')
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', reques::text, '</font></strong>')
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', reques::text, '</span>')
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
ELSE CONCAT('<font color=red>', reques::text, '</font>')
END AS tlsreques")
);
if ($jenis == 'ThisDay') {
$arraylist = $arraylist->where(function($q) {
$q->where(function($sub) {
$sub->whereNotIn('status', ['Selesai', 'Arsip'])
->where('status', 'not like', 'Dibatalkan%');
})->orWhereNull('status');
});
} else if ($jenis == 'ThisDayPendaftaran') {
$arraylist = $arraylist->whereDate('daftar', Carbon::today());
} else if ($jenis == 'mundur2') {
$arraylist = $arraylist->whereDate('daftar', '>=', Carbon::today()->subDays(2));
} else if ($jenis == 'mundur3') {
$arraylist = $arraylist->whereDate('daftar', '>=', Carbon::today()->subDays(3));
} else if ($jenis === 'searchbydate') {
$mulai = $mulai ?: date("Y-m-d");
$akhir = $akhir ?: date("Y-m-d");
if ($mulai >= $akhir) {
$akhir = date('Y-m-d', strtotime($akhir . ' +1 day'));
}
$arraylist = $arraylist->whereBetween('daftar', [$mulai, $akhir]);
} else if ($jenis === 'searchbydatemanual') {
$mulai = $mulai ?: date("Y-m-d");
$akhir = $akhir ?: date("Y-m-d");
if ($mulai >= $akhir) {
$akhir = date('Y-m-d', strtotime($akhir . ' +1 day'));
}
$arraylist = $arraylist->whereBetween('daftar', [$mulai, $akhir])->whereNotIn('pendaftar', ['supervisor', 'admin', 'analis', 'ppds', 'developer']);
} else if ($jenis === 'norm'){
$arraylist = $arraylist->where('noregister', 'LIKE', '%'.$valcari.'%');
} else if ($jenis === 'nofoto'){
$arraylist = $arraylist->where('nofoto', 'LIKE', '%'.$valcari.'%');
} else if ($jenis === 'rekues'){
$arraylist = $arraylist->where('reques', 'LIKE', '%'.$valcari.'%');
} else if ($jenis === 'keterangan'){
$arraylist = $arraylist->where('keterangan', 'LIKE', '%'.$valcari.'%');
} else if ($jenis === 'kesimpulan'){
$arraylist = $arraylist->where('kesimpulan', 'LIKE', '%'.$valcari.'%');
} else {
$arraylist = $arraylist->where('nmpasien', 'LIKE', '%'.$valcari.'%');
}
$arraylist = $arraylist->orderBy('id', 'DESC')->get();
}
echo json_encode($arraylist);
}
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();
}
}
}
}
}