10-02-2025

This commit is contained in:
Duidev Software House
2025-02-10 09:11:43 +07:00
parent ba76a18580
commit 6ff9168713
4 changed files with 261 additions and 62 deletions

View File

@@ -1539,6 +1539,9 @@ class DokterController extends Controller
} else if ($idpasien == 'listkodespesimen'){
$getsirab = Organisms::where('kelompok', 'listkodespesimen')->orderBy('category', 'ASC')->orderBy('name', 'ASC')->get();
echo json_encode($getsirab);
} else if ($idpasien == 'allany'){
$getsirab = Organisms::whereNotIn('kelompok', ['biakankultur', 'mikroorganisme', 'listkodespesimen'])->orderBy('category', 'ASC')->orderBy('name', 'ASC')->get();
echo json_encode($getsirab);
} else {
$files = Periksa::where('pasien_id', $idpasien)->orderBy('created_at', 'DESC')->get();
foreach ($files as $file) {

View File

@@ -20,7 +20,9 @@ class TemplateController extends Controller
if (Session::get('previlage') == ''){
return redirect('/login');
} else {
$data = [];
$data = [];
$getsirab = Organisms::whereNotIn('kelompok', ['biakankultur', 'mikroorganisme', 'listkodespesimen'])->orderBy('kelompok', 'ASC')->groupBy('kelompok')->get();
$data['parameters'] = $getsirab;
return view('admin.template', $data);
}
}
@@ -273,6 +275,40 @@ class TemplateController extends Controller
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Failed', 'message' => 'Unkown Error']);
return back();
}
} else if ($tabel == 'Parameter'){
$getdatalama = Organisms::where('kelompok', $request->kelompok)->first();
$category = $getdatalama->category ?? $request->kelompok;
if ($id == 'new'){
$ceksudah = Organisms::where('name', $request->name)->where('category', $category)->where('kelompok', $request->kelompok)->count();
if ($ceksudah == 0){
$data = Organisms::create([
'name' => $request->name,
'category' => $category,
'kelompok' => $request->kelompok
]);
} else {
$pesan = $request->name.' ('.$request->category.') Sudah ada, Mohon ubah Data sebelum simpan kembali';
}
} else {
$ceksudah = Organisms::where('id', '!=', $id)->where('name', $request->name)->where('category', $category)->where('kelompok', $request->kelompok)->count();
if ($ceksudah == 0){
$data = Organisms::where('id', $id)->update([
'name' => $request->name,
'category' => $category,
'kelompok' => $request->kelompok
]);
} else {
$pesan = $request->name.' ('.$request->category.') Sudah ada, Mohon ubah Data sebelum simpan kembali';
}
}
if ($data){
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Saved']);
return back();
} else {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Failed', 'message' => 'Unkown Error']);
return back();
}
} else {
if ($id == 'new'){
$data = new SiraB;

View File

@@ -428,33 +428,6 @@ class OrganismSeeder extends Seeder
['name' => 'Tidak ditemukan pertumbuhan Bakteri tahan asam', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'],
['name' => 'Didapatkan pertumbuhan bakteri <i>Mycobacterium tuberculosis</i> (MTB)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'],
['name' => 'Didapatkan pertumbuhan bakteri <i>Mycobacterium other than tuberculosis</i> (MOTT)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'],
['name' => 'Tidak ditemukan sel epitel', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'],
['name' => 'Ditemukan sel epitel &lt;1/LPK (1+)', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'],
['name' => 'Ditemukan sel epitel 1-9/LPK (2+)', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'],
['name' => 'Ditemukan sel epitel 10-25/LPK (3+)', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'],
['name' => 'Ditemukan sel epitel &gt;25/LPK (4+)', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'],
['name' => 'Tidak ditemukan sel radang', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'],
['name' => 'Ditemukan sel radang &lt;1/LPK (1+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'],
['name' => 'Ditemukan sel radang 1-9/LPK (2+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'],
['name' => 'Ditemukan sel radang 10-25/LPK (3+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'],
['name' => 'Ditemukan sel radang &gt;25/LPK (4+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'],
['name' => 'Ditemukan morfologi bakteri', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'],
['name' => 'Ditemukan morfologi', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'],
['name' => 'Tidak ditemukan morfologi bakteri', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'],
['name' => 'Tidak ditemukan morfologi bakteri maupun jamur', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'],
['name' => 'Tidak ditemukan Bakteri Tahan Asam (BTA)', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'],
['name' => 'Ditemukan Bakteri Tahan Asam 0-9 BTA (scanty)', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'],
['name' => 'Ditemukan Bakteri Tahan Asam (BTA) 1+', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'],
['name' => 'Ditemukan Bakteri Tahan Asam (BTA) 2+', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'],
['name' => 'Ditemukan Bakteri Tahan Asam (BTA) 3+', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'],
['name' => 'Ditemukan gambaran bakteri dengan granula metakromatik', 'category' => 'lsg_pewarnaanneisser', 'kelompok' => 'Pewarnaan Neisser'],
['name' => 'Tidak ditemukan gambaran bakteri dengan granula metakromatik', 'category' => 'lsg_pewarnaanneisser', 'kelompok' => 'Pewarnaan Neisser'],
['name' => 'Ditemukan morfologi bakteri berbentuk spiral', 'category' => 'lsg_pewarnaannegatif', 'kelompok' => 'Pewarnaan Negatif'],
['name' => 'Tidak ditemukan morfologi bakteri berbentuk spiral', 'category' => 'lsg_pewarnaannegatif', 'kelompok' => 'Pewarnaan Negatif'],
['name' => 'Ditemukan morfologi bakteri berspora di terminal', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'],
['name' => 'Ditemukan morfologi bakteri berspora di sub terminal', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'],
['name' => 'Ditemukan morfologi bakteri berspora di sentral', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'],
['name' => 'Tidak diitemukan morfologi bakteri berspora', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'],
]);
}
}

View File

@@ -5,39 +5,6 @@
<div class="container-fluid">
<div class="row">
<div class="col-sm-4">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-primary">Category</div>
<div id="gridkategori"></div>
</div>
</div>
<div class="col-sm-8">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-custom">Sub Category</div>
<div id="divawal">
<div id="griddetail"></div>
</div>
<div id="divtambahdata">
<p></p>
<h4 class="m-t-0 header-title">Add/Edit Expertise Template</h4>
<div class="form-group">
<label for="id_judul" class="col-form-label">Title</label>
<input type="text" class="form-control" id="id_judul">
</div>
<div class="form-group">
<label for="id_jawaban" class="col-form-label">Expertise</label>
<textarea id="id_jawaban" style="width: 100%; height: 200px; font-size: 12px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
</div>
<div class="form-group">
<input type="hidden" id="id_idjawaban">
<button type="button" id="btnkembali" class="btn btn-custom">Back</button>
<button type="button" id="btnAddDetail" class="btn btn-custom pull-right">Save</button>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-danger">Mikroorganisme</div>
<p></p>
@@ -51,7 +18,7 @@
</div>
</div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-warning">Bakteri</div>
<p></p>
@@ -65,6 +32,20 @@
</div>
</div>
</div>
<div class="col-sm-4">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-info">Any Paramater</div>
<p></p>
<div class="card-body">
<button type="button" class="btn btn-light waves-effect" id="btnaddnewparameter">
<i class="mdi mdi-briefcase-plus mr-1"></i> Add New
</button>
</div>
<div class="card-footer">
<div id="gridparameterlain"></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
@@ -186,6 +167,68 @@
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<div id="ModalParameterLain" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Editor Data</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group m-b-25">
<div class="col-12">
<label>Kelompok</label>
<select class="form-control" id="lain_kelompok" name="lain_kelompok">
<option value="">Pilih Salah Satu</option>
@if(isset($parameters) && !empty($parameters))
@foreach($parameters as $rows)
<option value="{!! $rows->kelompok !!}">{!! $rows->kelompok !!}</option>
@endforeach
@endif
</select>
</div>
</div>
<div class="form-group m-b-25">
<div class="col-12">
<label>Value</label>
<textarea id="lain_value" style="width: 100%; height: 200px; font-size: 12px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
</div>
</div>
<div class="form-group account-btn text-center m-t-10">
<div class="col-12">
<input type="hidden" class="form-control" id="lain_id">
<button class="btn w-lg btn-custom waves-effect waves-light" id="btnAddParameters" type="button">Save</button>
</div>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</div>
<div id="tempatctk" style="overflow: hidden; display: none;">
<div id="gridkategori"></div>
<div id="divawal">
<div id="griddetail"></div>
</div>
<div id="divtambahdata">
<p></p>
<h4 class="m-t-0 header-title">Add/Edit Expertise Template</h4>
<div class="form-group">
<label for="id_judul" class="col-form-label">Title</label>
<input type="text" class="form-control" id="id_judul">
</div>
<div class="form-group">
<label for="id_jawaban" class="col-form-label">Expertise</label>
<textarea id="id_jawaban" style="width: 100%; height: 200px; font-size: 12px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
</div>
<div class="form-group">
<input type="hidden" id="id_idjawaban">
<button type="button" id="btnkembali" class="btn btn-custom">Back</button>
<button type="button" id="btnAddDetail" class="btn btn-custom pull-right">Save</button>
</div>
</div>
</div>
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
@endsection
@@ -196,6 +239,12 @@
CKEDITOR.env.isCompatible = true;
CKEDITOR.replace( 'id_jawaban');
CKEDITOR.replace( 'id_kesimpulan');
CKEDITOR.replace( 'lain_value', {
toolbarGroups : [{"name":"paragraph","groups":["list"]}],
removeButtons : 'Strike',
width : '100%',
height : 50
});
});
function openedpage( jQuery ){
var token = document.getElementById('token').value;
@@ -355,6 +404,83 @@
},
]
});
var sourceallany = {
datatype : "json",
datafields : [
{ name: 'id',type: 'text'},
{ name: 'name',type: 'text'},
{ name: 'category',type: 'text'},
{ name: 'kelompok',type: 'text'},
],
type: 'POST',
data: { val01:'allany', _token: token },
url : '{{ route("getriwayat") }}',
};
var jsonBakteri = new $.jqx.dataAdapter(sourcebakteri);
$("#gridparameterlain").jqxGrid({
width : '100%',
showfilterrow : true,
filterable : true,
source : jsonBakteri,
columnsresize : true,
theme : "energyblue",
autoheight : true,
pageable : true,
altrows : true,
selectionmode : 'multiplecellsextended',
columns : [
{ text: 'Edit', filterable: false, columntype: 'button', cellsalign: 'center', align: 'center', width: '10%', cellsrenderer: function () {
return "Edit";
}, buttonclick: function (row) {
editrowpoli = row;
var offset = $("#gridparameterlain").offset();
var dataRecord = $("#gridparameterlain").jqxGrid('getrowdata', editrowpoli);
$("#lain_id").val(dataRecord.id);
CKEDITOR.instances['lain_value'].setData(dataRecord.name);
$("#lain_kelompok").val(dataRecord.kelompok);
$('#ModalParameterLain').modal('show');
}
},
{ text: 'Group', datafield: 'kelompok', width: '40%', cellsalign: 'left', align: 'center' },
{ text: 'Value', datafield: 'name', width: '40%', cellsalign: 'left', align: 'center' },
{ text: 'Delete', editable: false, sortable: false, filterable: false, columntype: 'button', width: '10%', cellsrenderer: function () {
return "Delete";
}, buttonclick: function (row) {
editrow = row;
var offset = $("#gridparameterlain").offset();
var dataRecord = $("#gridparameterlain").jqxGrid('getrowdata', editrow);
swal({
title : 'Are you sure?',
text : "Do you realy want to delete this data!",
type : 'warning',
showCancelButton : true,
confirmButtonClass : 'btn btn-confirm mt-2',
cancelButtonClass : 'btn btn-cancel ml-2 mt-2',
confirmButtonText : 'Yes, confirm it!'
}).then(function () {
var token = document.getElementById('token').value;
$.post('{{ route("deleteJawaban") }}', { id: 'mikroorganisme', idsirab: dataRecord.id, _token: token }, function(data){
var status = data.status;
var message = data.message;
var warna = data.warna;
var icon = data.icon;
$.toast({
heading: status,
text: message,
position: 'top-right',
loaderBg: warna,
icon: icon,
hideAfter: 5000,
stack: 1
});
$("#gridparameterlain").jqxGrid('updatebounddata', 'filter');
return false;
});
});
}
},
]
});
}
$(window).on('load', function () {
openedpage();
@@ -419,8 +545,69 @@
}
});
}
});
$("#btnAddParameters").click(function(){
var set01 = CKEDITOR.instances['lain_value'].getData();
var set02 = document.getElementById('lain_kelompok').value;
var set03 = document.getElementById('lain_kelompok').value;
var set04 = document.getElementById('lain_id').value;
if (set01 == '' || set02 == '' || set03 == ''){
swal({
title : 'Mohon diLengkapi',
text : 'Data Dasar Wajib di Isi',
type : 'warning',
});
} else {
$('#ModalParameterLain').modal('hide');
var form_data = new FormData();
form_data.append('name', set01);
form_data.append('category', set02);
form_data.append('kelompok', set03);
form_data.append('id', set04);
form_data.append('tabel', 'Parameter');
form_data.append('_token', '{{csrf_token()}}');
$.ajax({
url : '{{ route("exSIRAb") }}',
data : form_data,
type : 'POST',
contentType : false,
processData : false,
success : function (data) {
var status = data.status;
var message = data.message;
var icon = data.icon;
var warna = data.warna;
$("html, body").animate({ scrollTop: 0 }, "slow");
$.toast({
heading : status,
text : message,
position : 'top-right',
loaderBg : warna,
icon : icon,
hideAfter : 3000,
stack : 1
});
$("#gridparameterlain").jqxGrid('updatebounddata', 'filter');
return false;
},
error : function (xhr, status, error) {
var response = xhr.responseJSON || {};
var traceText = response.trace ? JSON.stringify(response.trace) : null;
swal({
title : response,
text : traceText,
type : 'error',
})
}
});
}
});
$("#btnaddnewparameter").click(function() {
$("#lain_id").val('new');
CKEDITOR.instances['lain_value'].setData('');
$('#ModalParameterLain').modal('show');
});
$("#btnaddnewmikroorganisme").click(function() {
$("#mb_id").val('new');
$("#mb_kelompok").val('mikroorganisme');