This commit is contained in:
Duidev Software
2026-01-06 06:11:08 +07:00
parent 3e5501faa6
commit a7aaf4befe
6 changed files with 156 additions and 29 deletions
@@ -368,6 +368,70 @@ class TemplateController extends Controller
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Failed', 'message' => 'Unkown Error']);
return back();
}
} else if ($tabel == 'uploadexcelsirab'){
$path = $_FILES['file']['tmp_name'];
$sukses = 0;
$error = '';
$xx = '-';
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load($path);
$getalldata = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
foreach($getalldata as $val){
if(is_null($val['H']) OR $val['H'] == 'kodedok' OR $val['H'] == ''){
//
} else {
$setmanual = $val['A'] ?? '';
$subantibiotik = $val['B'] ?? '';
$diskcontent = $val['C'] ?? '';
$batasatas = $val['D'] ?? '';
$midrange = $val['E'] ?? '';
$batasbawah = $val['F'] ?? '';
$sumber = $val['G'] ?? '';
$kodedok = $val['H'] ?? '';
if ($kodedok == '' OR $subantibiotik == '' OR $diskcontent == '' OR $sumber == ''){
$error .= 'Data KodeDok '.$kodedok.' dengan Antibiotik '.$subantibiotik.' dan DiskContent '.$diskcontent.' Sumber '.$sumber.' tidak lengkap; <br />';
} else {
$cekada = SiraB::where('kodedok', $kodedok)->where('setmanual', $setmanual)->where('subantibiotik', $subantibiotik)->where('diskcontent', $diskcontent)->where('sumber', $sumber)->first();
if (isset($cekada->id)){
$idsirab = $cekada->id;
$updatesirab = SiraB::where('id', $idsirab)->update([
'batasatas' => $batasatas,
'midrange' => $midrange,
'batasbawah' => $batasbawah,
]);
if ($updatesirab){
$sukses++;
} else {
$error .= 'ID '.$idsirab.' Gagal diupdate; <br />';
}
} else {
$cekada2 = SiraB::where('kodedok', $kodedok)->where('subantibiotik', $subantibiotik)->where('diskcontent', $diskcontent)->where('sumber', $sumber)->first();
if (isset($cekada2->id)){
$idsirab = $cekada2->id;
$updatesirab = SiraB::where('id', $idsirab)->update([
'setmanual' => $setmanual,
'batasatas' => $batasatas,
'midrange' => $midrange,
'batasbawah' => $batasbawah,
]);
if ($updatesirab){
$sukses++;
} else {
$error .= 'ID '.$idsirab.' Gagal diupdate; <br />';
}
} else {
$error .= 'Data KodeDok '.$kodedok.' dengan Antibiotik '.$subantibiotik.' dan DiskContent '.$diskcontent.' tidak ditemukan; <br />';
}
}
}
}
}
if ($error == ''){
$pesanakhir = 'Sukses mengupdate '.$sukses.' data.';
} else {
$pesanakhir = 'Sukses mengupdate '.$sukses.' data dengan catatan: <br />'.$error;
}
echo $pesanakhir;
} else {
if ($id == 'new'){
$data = new SiraB;
+66 -3
View File
@@ -9,11 +9,32 @@
<div class="ribbon ribbon-danger">SIR Ab</div>
<p></p>
<div class="card-body">
<button type="button" class="btn btn-light waves-effect" id="btnaddnewsirab">
<i class="mdi mdi-briefcase-plus mr-1"></i> Add New
</button>
<div class="form-row">
<div class="form-group col-lg-4">
<button type="button" class="btn btn-light waves-effect" id="btnaddnewsirab">
<i class="mdi mdi-briefcase-plus mr-1"></i> Add New
</button>
</div>
<div class="form-group col-lg-8">
<div class="form-row">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-light waves-effect" id="btnsyncsirab">
<i class="fa fa-upload mr-1"></i> Upload from Excel
</button>
</div>
<div class="form-group col-lg-6">
<div class="form-group m-b-0">
<p class="mb-2 mt-4 font-weight-bold">Sync</p>
<input type="file" class="filestyle" data-placeholder="No file" data-btnClass="btn-light" id="upload_file" name="upload_file">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div id="pesan"></div>
<div id="gridviralload"></div>
</div>
</div>
@@ -289,6 +310,48 @@
$("#id").val('new');
$('#modalsirab').modal('show');
});
$("#btnsyncsirab").click(function() {
var val01=document.getElementById('upload_file');
if ($('#upload_file').val() == ''){
swal({
title : 'Stop',
text : 'File Kosong',
type : 'warning',
})
} else {
var btn = $(this);
btn.addClass('fa fa-spinner fa-spin orange bigger-125').attr('disabled', true);
var form_data = new FormData();
form_data.append('tabel', 'uploadexcelsirab');
form_data.append('id', '');
form_data.append('file', val01.files[0]);
form_data.append('_token', '{{csrf_token()}}');
$.ajax({
url : '{{ route("exSIRAb") }}',
data : form_data,
type : 'POST',
contentType : false,
processData : false,
success : function (data) {
btn.removeClass('fa fa-spinner fa-spin orange bigger-125').attr('disabled', false);
$("#gridviralload").jqxGrid('updatebounddata', 'filter');
$("html, body").animate({ scrollTop: 0 }, "slow");
$("#pesan").html(data);
return false;
},
error: function (xhr, status, error) {
btn.removeClass('fa fa-spinner fa-spin orange bigger-125').attr('disabled', false);
var response = xhr.responseJSON || {};
var traceText = response.trace ? JSON.stringify(response.trace) : null;
swal({
title : response,
text : traceText,
type : 'error',
})
}
});
}
});
});
</script>
@endpush
@@ -5500,7 +5500,7 @@
keterangan: 'pertumbuhankoloni',
_token: '{{ csrf_token() }}' },
function(data){
$("#gridmediasdar1").jqxGrid('updatebounddata','filter');
$("#gridmediasdai1").jqxGrid('updatebounddata','filter');
});
});
$("#btnsdakosongi2").click(function() {
@@ -5526,7 +5526,7 @@
keterangan: 'pertumbuhankoloni',
_token: '{{ csrf_token() }}' },
function(data){
$("#gridmediasdar2").jqxGrid('updatebounddata','filter');
$("#gridmediasdai2").jqxGrid('updatebounddata','filter');
});
});
$("#btnsimpanpertumbuhankolonisdar1").click(function() {
+2 -2
View File
@@ -5553,7 +5553,7 @@
keterangan: 'pertumbuhankoloni',
_token: '{{ csrf_token() }}' },
function(data){
$("#gridmediasdar1").jqxGrid('updatebounddata','filter');
$("#gridmediasdai1").jqxGrid('updatebounddata','filter');
});
});
$("#btnsdakosongi2").click(function() {
@@ -5579,7 +5579,7 @@
keterangan: 'pertumbuhankoloni',
_token: '{{ csrf_token() }}' },
function(data){
$("#gridmediasdar2").jqxGrid('updatebounddata','filter');
$("#gridmediasdai2").jqxGrid('updatebounddata','filter');
});
});
$("#btnsimpanpertumbuhankolonisdar1").click(function() {
@@ -865,12 +865,12 @@
<div class="card-box">
<div class="card-header">
<div class="form-row">
<div class="form-group col-lg-3">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-primary" id="btnuntukgridmediasdar1">
<i class="fa fa-calendar-check-o mr-1"></i> Ada Pertumbuhan
</button>
</div>
<div class="form-group col-lg-3">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-primary" id="btnsdakosongr1">
<i class="fa fa-calendar-times-o mr-1"></i> Tidak Ada Pertumbuhan
</button>
@@ -904,12 +904,12 @@
<div class="card">
<div class="card-box">
<div class="card-header row">
<div class="form-group col-lg-3">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-primary" id="btnuntukgridmediasdai1">
<i class="fa fa-calendar-check-o mr-1"></i> Ada Pertumbuhan
</button>
</div>
<div class="form-group col-lg-3">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-primary" id="btnsdakosongi1">
<i class="fa fa-calendar-times-o mr-1"></i> Tidak Ada Pertumbuhan
</button>
@@ -925,12 +925,12 @@
<div class="card">
<div class="card-box">
<div class="card-header row">
<div class="form-group col-lg-3">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-primary" id="btnuntukgridmediasdai2">
<i class="fa fa-calendar-check-o mr-1"></i> Ada Pertumbuhan
</button>
</div>
<div class="form-group col-lg-3">
<div class="form-group col-lg-6">
<button type="button" class="btn btn-primary" id="btnsdakosongi2">
<i class="fa fa-calendar-times-o mr-1"></i> Tidak Ada Pertumbuhan
</button>
@@ -5553,7 +5553,7 @@
keterangan: 'pertumbuhankoloni',
_token: '{{ csrf_token() }}' },
function(data){
$("#gridmediasdar1").jqxGrid('updatebounddata','filter');
$("#gridmediasdai1").jqxGrid('updatebounddata','filter');
});
});
$("#btnsdakosongi2").click(function() {
@@ -5579,7 +5579,7 @@
keterangan: 'pertumbuhankoloni',
_token: '{{ csrf_token() }}' },
function(data){
$("#gridmediasdar2").jqxGrid('updatebounddata','filter');
$("#gridmediasdai2").jqxGrid('updatebounddata','filter');
});
});
$("#btnsimpanpertumbuhankolonisdar1").click(function() {
+14 -14
View File
@@ -14,7 +14,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Cairan Steril</h6>
<h2 class="m-b-20">{{$cairansteril}}</h2>
<a href="/tabsmode/buku01"><span class="badge badge-custom float-right"> Open Book Cairan Steril</span></a>
<a href="/mikro/buku01"><span class="badge badge-custom float-right"> Open Book Cairan Steril</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -22,7 +22,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">CCI</h6>
<h2 class="m-b-20">{{$cci}}</h2>
<a href="/tabsmode/buku02"><span class="badge badge-primary float-right"> Open Book CCI</span></a>
<a href="/mikro/buku02"><span class="badge badge-primary float-right"> Open Book CCI</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -30,7 +30,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Darah</h6>
<h2 class="m-b-20">{{$darah}}</h2>
<a href="/tabsmode/buku03"><span class="badge badge-success float-right"> Open Book Darah</span></a>
<a href="/mikro/buku03"><span class="badge badge-success float-right"> Open Book Darah</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -38,7 +38,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">HIV</h6>
<h2 class="m-b-20">{{$hiv}}</h2>
<a href="/tabsmode/buku04"><span class="badge badge-warning float-right"> Open Book HIV</span></a>
<a href="/mikro/buku04"><span class="badge badge-warning float-right"> Open Book HIV</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -46,7 +46,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Kuku, Kulit, Adnexa</h6>
<h2 class="m-b-20">{{$kukukulit}}</h2>
<a href="/tabsmode/buku05"><span class="badge badge-info float-right"> Open Book Kuku, Kulit, Adnexa</span></a>
<a href="/mikro/buku05"><span class="badge badge-info float-right"> Open Book Kuku, Kulit, Adnexa</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -54,7 +54,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Kultur TB</h6>
<h2 class="m-b-20">{{$kulturtb}}</h2>
<a href="/tabsmode/buku06"><span class="badge badge-secondary float-right"> Open Book Kultur TB</span></a>
<a href="/mikro/buku06"><span class="badge badge-secondary float-right"> Open Book Kultur TB</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -62,7 +62,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Pus dan Jaringan</h6>
<h2 class="m-b-20">{{$pusdanjaringan}}</h2>
<a href="/tabsmode/buku07"><span class="badge badge-dark float-right"> Open Book Pus dan Jaringan</span></a>
<a href="/mikro/buku07"><span class="badge badge-dark float-right"> Open Book Pus dan Jaringan</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -70,7 +70,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Sputum</h6>
<h2 class="m-b-20">{{$sputum}}</h2>
<a href="/tabsmode/buku08"><span class="badge badge-purple float-right"> Open Book Sputum</span></a>
<a href="/mikro/buku08"><span class="badge badge-purple float-right"> Open Book Sputum</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -78,7 +78,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Swab</h6>
<h2 class="m-b-20">{{$swab}}</h2>
<a href="/tabsmode/buku09"><span class="badge badge-pink float-right"> Open Book Swab</span></a>
<a href="/mikro/buku09"><span class="badge badge-pink float-right"> Open Book Swab</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -86,7 +86,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">TCM TB</h6>
<h2 class="m-b-20">{{$tcmtb}}</h2>
<a href="/tabsmode/buku10"><span class="badge badge-primary float-right"> Open Book TCM TB</span></a>
<a href="/mikro/buku10"><span class="badge badge-primary float-right"> Open Book TCM TB</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -94,7 +94,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">TCM non-TB</h6>
<h2 class="m-b-20">{{$tcmnontb}}</h2>
<a href="/tabsmode/buku11"><span class="badge badge-warning float-right"> Open Book TCM non-TB</span></a>
<a href="/mikro/buku11"><span class="badge badge-warning float-right"> Open Book TCM non-TB</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -102,7 +102,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Urine</h6>
<h2 class="m-b-20">{{$urine}}</h2>
<a href="/tabsmode/buku12"><span class="badge badge-info float-right"> Open Book Urine</span></a>
<a href="/mikro/buku12"><span class="badge badge-info float-right"> Open Book Urine</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -110,7 +110,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Feces</h6>
<h2 class="m-b-20">{{$feces}}</h2>
<a href="/tabsmode/buku13"><span class="badge badge-danger float-right"> Open Book Feces</span></a>
<a href="/mikro/buku13"><span class="badge badge-danger float-right"> Open Book Feces</span></a>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-6 col-xl-3">
@@ -118,7 +118,7 @@
<i class="fa fa-flask float-right text-muted"></i>
<h6 class="text-muted text-uppercase mt-0">Selainnya</h6>
<h2 class="m-b-20">{{$lainnya}}</h2>
<a href="/tabsmode/buku0"><span class="badge badge-dark float-right"> Open Book Lainnya</span></a>
<a href="/mikro/buku0"><span class="badge badge-dark float-right"> Open Book Lainnya</span></a>
</div>
</div>
</div>