Update Banner dan Report
This commit is contained in:
@@ -284,9 +284,10 @@ class ReportController extends Controller
|
||||
'periksa.dlp',
|
||||
'periksa.nm_spesimen',
|
||||
'periksa.kd_spesimen',
|
||||
DB::raw("CONCAT('http://10.10.123.218/hasil/', nofoto) as urlhasil"))
|
||||
DB::raw("CONCAT('<a href=\"http://10.10.123.218/hasil/', nofoto, '\" target=\"_blank\">Lihat Hasil</a>') as urlhasil"))
|
||||
->leftJoin('periksa', 'db_komponenjawaban.accnumber', 'periksa.nofoto')
|
||||
->whereIn('db_komponenjawaban.komponen', ['id_bakteri01', 'id_bakteri02', 'bakteri'])
|
||||
->where('db_komponenjawaban.isidata', '!=', '')
|
||||
->where('periksa.daftar', 'LIKE', $tahun.'-%')->orderBy('periksa.id', 'DESC')->get();
|
||||
} else {
|
||||
$lists = DB::table('db_komponenjawaban')
|
||||
@@ -299,9 +300,10 @@ class ReportController extends Controller
|
||||
'periksa.dlp',
|
||||
'periksa.nm_spesimen',
|
||||
'periksa.kd_spesimen',
|
||||
DB::raw("CONCAT('http://10.10.123.218/hasil/', nofoto) as urlhasil"))
|
||||
DB::raw("CONCAT('<a href=\"http://10.10.123.218/hasil/', nofoto, '\" target=\"_blank\">Lihat Hasil</a>') as urlhasil"))
|
||||
->leftJoin('periksa', 'db_komponenjawaban.accnumber', 'periksa.nofoto')
|
||||
->whereIn('db_komponenjawaban.komponen', ['id_bakteri01', 'id_bakteri02', 'bakteri'])
|
||||
->where('db_komponenjawaban.isidata', '!=', '')
|
||||
->where('periksa.daftar', 'LIKE', $tahun.'-'.$bulan.'-%')->orderBy('periksa.id', 'DESC')->get();
|
||||
}
|
||||
echo json_encode($lists);
|
||||
|
||||
@@ -10,6 +10,7 @@ use App\Subjawaban;
|
||||
use App\SiraB;
|
||||
use App\Organisms;
|
||||
use App\Periksa;
|
||||
use App\KomponenJawaban;
|
||||
use Validator;
|
||||
use Picqer\Barcode\BarcodeGeneratorPNG;
|
||||
use Session;
|
||||
@@ -343,6 +344,30 @@ class TemplateController extends Controller
|
||||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Failed', 'message' => 'Unkown Error']);
|
||||
return back();
|
||||
}
|
||||
} else if ($tabel == 'BioRepository'){
|
||||
$kategorisimpan = $request->kategorisimpan;
|
||||
$shelfnomor = $request->shelfnomor;
|
||||
$raknomor = $request->raknomor;
|
||||
$slotnomor = $request->slotnomor;
|
||||
$boxnomor = $request->boxnomor;
|
||||
$tubenomor = $request->tubenomor;
|
||||
$nomor = $kategorisimpan.''.$shelfnomor.''.$raknomor.''.$slotnomor.''.$boxnomor.'-'.$tubenomor;
|
||||
$data = KomponenJawaban::where('id', $id)->update([
|
||||
'isidata' => $request->nmbakteri,
|
||||
'nobiorepository' => $nomor,
|
||||
'strain' => $request->strain,
|
||||
'atcc' => $request->atcc,
|
||||
'sample' => $request->nmbakteri,
|
||||
'tglpenyimpanan' => $request->tglpenyimpanan,
|
||||
'created_by' => $request->created_by
|
||||
]);
|
||||
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;
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 151 KiB |
@@ -3,7 +3,6 @@
|
||||
@section('content')
|
||||
<div class="wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- end page title end breadcrumb -->
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="card-box ribbon-box">
|
||||
@@ -87,8 +86,94 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- end container -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="modaleditorbiorepository" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl">
|
||||
<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">Bio Repository</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-horizontal">
|
||||
<div class="form-group m-b-25">
|
||||
<div class="col-12">
|
||||
<label>Category Penyimpanan</label>
|
||||
<select class="form-control" id="kategorisimpan" name="kategorisimpan">
|
||||
<option value="A">Penyimpanan Suhu Ruang</option>
|
||||
<option value="B">Penyimpanan Suhu 4 Derajat</option>
|
||||
<option value="C">Penyimpanan Suhu 20 Derajat</option>
|
||||
<option value="D">Penyimpanan Suhu 80 Derajat</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-lg-4">
|
||||
<label>Shelf Nomor</label>
|
||||
<input type="number" class="form-control" id="shelfnomor">
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<label>Rack Number</label>
|
||||
<input type="number" class="form-control" id="raknomor">
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<label>Slot Number</label>
|
||||
<input type="number" class="form-control" id="slotnomor">
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<label>Box Number</label>
|
||||
<input type="number" class="form-control" id="boxnomor">
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<label>Tube Number</label>
|
||||
<input type="number" class="form-control" id="tubenomor">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-b-25">
|
||||
<div class="col-12">
|
||||
<label>Bactery Name</label>
|
||||
<input type="text" class="form-control" id="nmbakteri">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-b-25">
|
||||
<div class="col-12">
|
||||
<label>Strain</label>
|
||||
<select class="form-control" id="strain" name="strain">
|
||||
<option value="Gram Negatif">Gram Negatif</option>
|
||||
<option value="Gram Positif">Gram Positif</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-b-25">
|
||||
<div class="col-12">
|
||||
<label>ATCC</label>
|
||||
<input type="text" class="form-control" id="atcc">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-b-25">
|
||||
<div class="col-12">
|
||||
<label>Tgl Penyimpanan</label>
|
||||
<input type="text" class="form-control" id="tglpenyimpanan">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-b-25">
|
||||
<div class="col-12">
|
||||
<label>Nama Pelaksana / Pemilik</label>
|
||||
<input type="text" class="form-control" id="createdby">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group account-btn text-center m-t-10">
|
||||
<div class="col-12">
|
||||
<input type="hidden" class="form-control" id="idbakteri">
|
||||
<button class="btn w-lg btn-custom waves-effect waves-light" id="btnsimpandata" type="button">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tempatctk" style="overflow: hidden; display: none;">
|
||||
<div id="tabel_cetak"></div>
|
||||
</div>
|
||||
@@ -96,11 +181,14 @@
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$('#divlaporan').hide();
|
||||
$('#divlaporanharian').hide();
|
||||
$("#tanggal").datepicker({format: 'yyyy-mm-dd'});
|
||||
$("#tglpenyimpanan").datepicker({format: 'yyyy-mm-dd'});
|
||||
$('#btnReport').click(function () {
|
||||
var bulan = document.getElementById('bulan').value;
|
||||
var tahun = document.getElementById('tahun').value;
|
||||
@@ -282,6 +370,93 @@ $(document).ready(function () {
|
||||
columnsresize : true,
|
||||
selectionmode : 'multiplecellsextended',
|
||||
columns : [
|
||||
{ text: 'Edit', filterable: false, columntype: 'button', align: 'center', width: 50, cellsrenderer: function () {
|
||||
return "Edit";
|
||||
}, buttonclick: function (row) {
|
||||
editrowjabatan = row;
|
||||
var offset = $("#result").offset();
|
||||
var dataRecord = $("#result").jqxGrid('getrowdata', editrowjabatan);
|
||||
$("#idbakteri").val(dataRecord.id);
|
||||
$("#createdby").val(dataRecord.created_by);
|
||||
$("#tglpenyimpanan").val(dataRecord.tglpenyimpanan);
|
||||
$("#atcc").val(dataRecord.atcc);
|
||||
$("#strain").val(dataRecord.strain);
|
||||
$("#nmbakteri").val(dataRecord.isidata);
|
||||
$("#tubenomor").val('');
|
||||
$("#boxnomor").val('');
|
||||
$("#slotnomor").val('');
|
||||
$("#raknomor").val('');
|
||||
$("#shelfnomor").val('');
|
||||
$("#kategorisimpan").val('');
|
||||
$('#modaleditorbiorepository').modal('show');
|
||||
}
|
||||
},
|
||||
{ text: 'Stiker', filterable: false, columntype: 'button', align: 'center', width: 50, cellsrenderer: function () {
|
||||
return "Print";
|
||||
}, buttonclick: function (row) {
|
||||
editrowjabatan = row;
|
||||
var offset = $("#result").offset();
|
||||
var dataRecord = $("#result").jqxGrid('getrowdata', editrowjabatan);
|
||||
if (typeof window.jspdf === 'undefined' || typeof JsBarcode === 'undefined') {
|
||||
swal({
|
||||
title : 'Plugin Error',
|
||||
text : 'Kesalahan: Library jsPDF atau JsBarcode belum dimuat',
|
||||
type : 'error',
|
||||
})
|
||||
return;
|
||||
}
|
||||
const { jsPDF } = window.jspdf;
|
||||
const doc = new jsPDF({
|
||||
orientation: 'landscape',
|
||||
unit: 'mm',
|
||||
format: [50, 35]
|
||||
});
|
||||
const leftMargin = 2;
|
||||
const contentWidth = 50 - (leftMargin * 2);
|
||||
let yPosition = 4;
|
||||
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.setFontSize(7);
|
||||
doc.text(`${dataRecord.nofoto} / ${dataRecord.noregister}`, leftMargin, yPosition, {
|
||||
maxWidth: contentWidth,
|
||||
});
|
||||
yPosition += 4;
|
||||
try {
|
||||
const canvas = document.createElement('canvas');
|
||||
JsBarcode(canvas, dataRecord.nobiorepository, {
|
||||
format: "CODE128",
|
||||
displayValue: false,
|
||||
height: 40,
|
||||
width: 1.5,
|
||||
margin: 5
|
||||
});
|
||||
const barcodeDataUrl = canvas.toDataURL('image/png');
|
||||
const barcodeHeight = 10;
|
||||
doc.addImage(barcodeDataUrl, 'PNG', leftMargin, yPosition, contentWidth, barcodeHeight);
|
||||
yPosition += barcodeHeight + 3;
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.setFontSize(9);
|
||||
const centerX = 50 / 2;
|
||||
doc.text(dataRecord.nobiorepository, centerX, yPosition, { align: 'center' });
|
||||
yPosition += 4;
|
||||
|
||||
} catch (e) {
|
||||
console.error("Gagal membuat barcode:", e);
|
||||
doc.text("Error Barcode", leftMargin, yPosition);
|
||||
yPosition += 12;
|
||||
}
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.setFontSize(6.5);
|
||||
doc.text(`${dataRecord.isidata} / ${dataRecord.strain} / ${dataRecord.created_by} `, leftMargin, yPosition, {
|
||||
maxWidth: contentWidth,
|
||||
});
|
||||
yPosition += 6;
|
||||
doc.text(`${dataRecord.atcc} ( ${dataRecord.tglpenyimpanan} )`, leftMargin, yPosition, {
|
||||
maxWidth: contentWidth,
|
||||
});
|
||||
doc.output('dataurlnewwindow');
|
||||
}
|
||||
},
|
||||
{ text: 'Nomor BioRepository', datafield: 'nobiorepository', width: 150, cellsalign: 'left', align: 'center'},
|
||||
{ text: 'Nama Bakteri', datafield: 'isidata', width: 150, cellsalign: 'left', align: 'center'},
|
||||
{ text: 'STRAIN', datafield: 'strain', width: 150, cellsalign: 'left', align: 'center'},
|
||||
@@ -599,6 +774,70 @@ $(document).ready(function () {
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$("#btnsimpandata").click(function(){
|
||||
var set01 = document.getElementById('idbakteri').value;
|
||||
var set02 = document.getElementById('createdby').value;
|
||||
var set03 = document.getElementById('tglpenyimpanan').value;
|
||||
var set04 = document.getElementById('atcc').value;
|
||||
var set05 = document.getElementById('strain').value;
|
||||
var set06 = document.getElementById('nmbakteri').value;
|
||||
var set07 = document.getElementById('tubenomor').value;
|
||||
var set08 = document.getElementById('boxnomor').value;
|
||||
var set09 = document.getElementById('slotnomor').value;
|
||||
var set10 = document.getElementById('raknomor').value;
|
||||
var set11 = document.getElementById('shelfnomor').value;
|
||||
var set12 = document.getElementById('kategorisimpan').value;
|
||||
$('#modaleditorbiorepository').modal('hide');
|
||||
var form_data = new FormData();
|
||||
form_data.append('id', set01);
|
||||
form_data.append('created_by', set02);
|
||||
form_data.append('tglpenyimpanan', set03);
|
||||
form_data.append('atcc', set04);
|
||||
form_data.append('strain', set05);
|
||||
form_data.append('nmbakteri', set06);
|
||||
form_data.append('tubenomor', set07);
|
||||
form_data.append('boxnomor', set08);
|
||||
form_data.append('slotnomor', set09);
|
||||
form_data.append('raknomor', set10);
|
||||
form_data.append('shelfnomor', set11);
|
||||
form_data.append('kategorisimpan', set12);
|
||||
form_data.append('tabel', 'BioRepository');
|
||||
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
|
||||
});
|
||||
$("#result").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',
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<div class="form-group col-10">
|
||||
<h2 class="text-uppercase text-center pb-4">
|
||||
<a href="{{url('/')}}" class="text-success">
|
||||
<span><img src="{{ asset('lis.png') }}" alt="" width="100%"></span>
|
||||
<span><img src="{{ asset('banner.png') }}" alt="" width="100%"></span>
|
||||
</a>
|
||||
</h2>
|
||||
@if(Session::has('message'))
|
||||
|
||||
Reference in New Issue
Block a user