update
This commit is contained in:
@@ -1055,6 +1055,53 @@ class ReportController extends Controller
|
||||
|
||||
return $response;
|
||||
}
|
||||
private function getZnReportKomponenList() {
|
||||
return [
|
||||
'id_pewarnaanziehlnielsen',
|
||||
'id_pewarnaanziehlnielsensewaktu',
|
||||
'lsg_pewarnaanziehlnielsen',
|
||||
'lsg_pewarnaanziehlnielsensewaktu',
|
||||
'hasilpemeriksaantbbiakan_pagi',
|
||||
'hasilpemeriksaantbbiakan_sewaktu',
|
||||
'hasilpemeriksaantmikroskopis_hasilpagi',
|
||||
'hasilpemeriksaantmikroskopis_hasilsewaktu',
|
||||
];
|
||||
}
|
||||
private function normalizeZnReportValue($value) {
|
||||
$value = trim(strip_tags((string) $value));
|
||||
$value = preg_replace('/\s+/', ' ', $value);
|
||||
$upperValue = strtoupper($value);
|
||||
|
||||
if ($upperValue === 'NEG') {
|
||||
return 'Tidak ditemukan Bakteri Tahan Asam (BTA)';
|
||||
}
|
||||
|
||||
if ($upperValue === '1-9') {
|
||||
return 'Ditemukan Bakteri Tahan Asam 0-9 BTA (scanty)';
|
||||
}
|
||||
|
||||
if ($value === '+') {
|
||||
return 'Ditemukan Bakteri Tahan Asam (BTA) 1+';
|
||||
}
|
||||
|
||||
if ($value === '++') {
|
||||
return 'Ditemukan Bakteri Tahan Asam (BTA) 2+';
|
||||
}
|
||||
|
||||
if ($value === '+++') {
|
||||
return 'Ditemukan Bakteri Tahan Asam (BTA) 3+';
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
private function periksaHasZnReportValue($periksa, $nilai, $komponenList) {
|
||||
return $periksa->komponen
|
||||
->whereIn('komponen', $komponenList)
|
||||
->filter(function ($komponen) use ($nilai) {
|
||||
return $this->normalizeZnReportValue($komponen->isidata) === $nilai;
|
||||
})
|
||||
->count() > 0;
|
||||
}
|
||||
public function genZNreport(Request $request) {
|
||||
$data = [];
|
||||
$bulan = $request->input('bulan');
|
||||
@@ -1068,12 +1115,7 @@ class ReportController extends Controller
|
||||
}
|
||||
|
||||
// komponen Ziehl yang mau dianalisa
|
||||
$komponenList = [
|
||||
'id_pewarnaanziehlnielsen',
|
||||
'id_pewarnaanziehlnielsensewaktu',
|
||||
'lsg_pewarnaanziehlnielsen',
|
||||
'lsg_pewarnaanziehlnielsensewaktu'
|
||||
];
|
||||
$komponenList = $this->getZnReportKomponenList();
|
||||
|
||||
// Nilai Ziehl yang ingin dihitung
|
||||
$nilaiList = Organisms::where('kelompok', 'Pewarnaan Ziehl Nielsen')->pluck('name')->toArray();
|
||||
@@ -1111,10 +1153,7 @@ class ReportController extends Controller
|
||||
->where('kd_spesimen', $spesimen)
|
||||
->where('jkpasien', 'L')
|
||||
->filter(function($px) use ($nilai, $komponenList){
|
||||
return $px->komponen
|
||||
->whereIn('komponen', $komponenList)
|
||||
->where('isidata', $nilai)
|
||||
->count() > 0;
|
||||
return $this->periksaHasZnReportValue($px, $nilai, $komponenList);
|
||||
})->count();
|
||||
|
||||
// hitung perempuan
|
||||
@@ -1122,10 +1161,7 @@ class ReportController extends Controller
|
||||
->where('kd_spesimen', $spesimen)
|
||||
->where('jkpasien', 'P')
|
||||
->filter(function($px) use ($nilai, $komponenList){
|
||||
return $px->komponen
|
||||
->whereIn('komponen', $komponenList)
|
||||
->where('isidata', $nilai)
|
||||
->count() > 0;
|
||||
return $this->periksaHasZnReportValue($px, $nilai, $komponenList);
|
||||
})->count();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -600,55 +600,64 @@ class AstmMessageService
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function processAstmMessagesgenExpert($response, $alat)
|
||||
{
|
||||
// 1. Normalisasi karakter pembatas baris (\r\n, \r, atau \n diubah jadi \n)
|
||||
$normalizedData = str_replace(["\r\n", "\r"], "\n", $response);
|
||||
$segments = explode("\n", $normalizedData);
|
||||
$normalizedData = str_replace(["\r\n", "\r"], "\n", $response);
|
||||
$segments = explode("\n", $normalizedData);
|
||||
$patient_id = '';
|
||||
$patient_name = '';
|
||||
$accession_number = '';
|
||||
|
||||
// Array untuk menyimpan data terstruktur
|
||||
$parsedResults = [];
|
||||
$hasil_list = []; // Tetap dipertahankan untuk kebutuhan legacy/summary
|
||||
|
||||
$patient_id = '';
|
||||
$patient_name = '';
|
||||
$accession_number = ''; // NoReg
|
||||
$hasil_list = [];
|
||||
|
||||
// 2. Looping setiap baris data ASTM
|
||||
foreach ($segments as $rsegmen) {
|
||||
$cekdata = explode('|', $rsegmen);
|
||||
if (empty($cekdata[0])) continue;
|
||||
|
||||
|
||||
$recordType = preg_replace("/[^a-zA-Z]/", "", $cekdata[0]);
|
||||
|
||||
// Ekstrak Data Pasien (P)
|
||||
|
||||
if ($recordType === 'P') {
|
||||
$patient_id = $cekdata[3] ?? ($cekdata[4] ?? '');
|
||||
if (isset($cekdata[5])) {
|
||||
$patient_name = trim(str_replace('^', ' ', $cekdata[5]));
|
||||
}
|
||||
}
|
||||
|
||||
// Ekstrak Nomor Order (O)
|
||||
|
||||
if ($recordType === 'O') {
|
||||
$accession_number = $cekdata[2] ?? '';
|
||||
}
|
||||
|
||||
// Ekstrak Hasil Analisa (R)
|
||||
|
||||
if ($recordType === 'R') {
|
||||
if (isset($cekdata[2]) && isset($cekdata[3])) {
|
||||
$test_info = $cekdata[2]; // Format contoh: ^^^MTB-RIF_ULTRA 2^^^MTB^
|
||||
$result_val = trim(str_replace('^', '', $cekdata[3])); // Contoh: DETECTED / PASS / INVALID
|
||||
|
||||
// [KUNCI]: Buang baris yang berisi kurva angka (Ct / EndPt) agar tidak nyampah dan kepanjangan
|
||||
if (strpos($rsegmen, 'Ct|') === false && strpos($rsegmen, 'EndPt|') === false && $result_val !== '') {
|
||||
$test_info_raw = $cekdata[2];
|
||||
$result_val = trim(str_replace('^', '', $cekdata[3]));
|
||||
|
||||
if ($result_val !== '') {
|
||||
// Pecah test info berdasarkan '^'
|
||||
$test_info = explode('^', $test_info_raw);
|
||||
|
||||
// Ambil nama target spesifik (misal 'MTB' atau 'RIF Resistance' atau 'SPC')
|
||||
$target_match = explode('^^^', $test_info);
|
||||
$target_name = '';
|
||||
if (count($target_match) > 1) {
|
||||
$target_name = trim(str_replace('^', '', end($target_match)));
|
||||
// Pada format GeneXpert: index ke-6 biasanya nama target (FII, FII 20210G, dll)
|
||||
// index ke-7 biasanya penanda tipe data (Ct, EndPt)
|
||||
$target_name = $test_info[6] ?? 'Unknown Target';
|
||||
$metric_type = $test_info[7] ?? 'Result'; // Jika tidak ada, berarti ini Result (POS/NEG)
|
||||
|
||||
// Inisialisasi array untuk target ini jika belum ada
|
||||
if (!isset($parsedResults[$target_name])) {
|
||||
$parsedResults[$target_name] = [
|
||||
'Result' => '-',
|
||||
'Ct' => '-',
|
||||
'EndPt' => '-'
|
||||
];
|
||||
}
|
||||
|
||||
// Simpan ke array jika valid
|
||||
if ($target_name && $result_val) {
|
||||
// Masukkan nilai ke dalam struktur data
|
||||
$parsedResults[$target_name][$metric_type] = $result_val;
|
||||
|
||||
// Untuk summary legacy (kolom organism/additional_result)
|
||||
if ($metric_type === 'Result') {
|
||||
$hasil_list[] = $target_name . ": " . $result_val;
|
||||
}
|
||||
}
|
||||
@@ -661,50 +670,143 @@ class AstmMessageService
|
||||
return false;
|
||||
}
|
||||
|
||||
// 3. Gabungkan hasil dari array menjadi 1 string ("MTB: DETECTED | RIF Resistance: NOT DETECTED")
|
||||
$kesimpulan = implode(" | ", $hasil_list);
|
||||
// ====================================================================
|
||||
// MEMBUAT HTML REPORT & GRAFIK (CHART.JS)
|
||||
// ====================================================================
|
||||
|
||||
// 1. Buat Tabel HTML
|
||||
$reporthtml = '<div class="genexpert-report" style="font-family: Arial, sans-serif;">';
|
||||
$reporthtml .= '<h4 style="margin-bottom:10px;">GeneXpert Assay Result</h4>';
|
||||
$reporthtml .= '<table border="1" cellpadding="5" style="width: 100%; border-collapse: collapse; text-align: left; margin-bottom: 20px;">';
|
||||
$reporthtml .= '<tr style="background-color: #f4f4f4;">
|
||||
<th>Target/Analyte</th>
|
||||
<th>Result</th>
|
||||
<th>Ct Value</th>
|
||||
<th>EndPt</th>
|
||||
</tr>';
|
||||
|
||||
// [PENTING] Potong text agar TIDAK ERROR di Postgres (Varchar 100)
|
||||
$kesimpulan_safe = substr($kesimpulan, 0, 100);
|
||||
$chartLabels = [];
|
||||
$chartCtData = [];
|
||||
$chartEndPtData = [];
|
||||
|
||||
foreach ($parsedResults as $target => $data) {
|
||||
$reporthtml .= "<tr>
|
||||
<td><strong>{$target}</strong></td>
|
||||
<td>{$data['Result']}</td>
|
||||
<td>{$data['Ct']}</td>
|
||||
<td>{$data['EndPt']}</td>
|
||||
</tr>";
|
||||
|
||||
// Siapkan data untuk grafik (hanya ambil target yang memiliki nilai numerik Ct/EndPt)
|
||||
if (is_numeric($data['Ct']) || is_numeric($data['EndPt'])) {
|
||||
$chartLabels[] = $target;
|
||||
$chartCtData[] = is_numeric($data['Ct']) ? (float)$data['Ct'] : 0;
|
||||
$chartEndPtData[] = is_numeric($data['EndPt']) ? (float)$data['EndPt'] : 0;
|
||||
}
|
||||
}
|
||||
$reporthtml .= '</table>';
|
||||
|
||||
// 2. Buat Grafik menggunakan Chart.js (Inject Script)
|
||||
if (!empty($chartLabels)) {
|
||||
$chartId = 'gxChart_' . preg_replace('/[^a-zA-Z0-9]/', '', $accession_number);
|
||||
$labelsJson = json_encode($chartLabels);
|
||||
$ctJson = json_encode($chartCtData);
|
||||
$endPtJson = json_encode($chartEndPtData);
|
||||
|
||||
// Tambahkan Canvas untuk grafik
|
||||
$reporthtml .= '<div style="width: 100%; max-width: 800px; margin: auto;">';
|
||||
$reporthtml .= '<canvas id="'.$chartId.'"></canvas>';
|
||||
$reporthtml .= '</div>';
|
||||
|
||||
// Tambahkan script Chart.js (asumsi CDN) dan inisialisasi
|
||||
$reporthtml .= "
|
||||
<script src=\"https://cdn.jsdelivr.net/npm/chart.js\"></script>
|
||||
<script>
|
||||
// Gunakan DOMContentLoaded agar script jalan setelah HTML di-render di frontend
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var ctx = document.getElementById('{$chartId}').getContext('2d');
|
||||
new Chart(ctx, {
|
||||
type: 'bar', // Menggunakan kombinasi Bar & Line chart
|
||||
data: {
|
||||
labels: {$labelsJson},
|
||||
datasets: [
|
||||
{
|
||||
label: 'Ct Value',
|
||||
data: {$ctJson},
|
||||
backgroundColor: 'rgba(54, 162, 235, 0.6)',
|
||||
borderColor: 'rgba(54, 162, 235, 1)',
|
||||
borderWidth: 1,
|
||||
yAxisID: 'y'
|
||||
},
|
||||
{
|
||||
label: 'End Point',
|
||||
data: {$endPtJson},
|
||||
type: 'line',
|
||||
borderColor: 'rgba(255, 99, 132, 1)',
|
||||
backgroundColor: 'rgba(255, 99, 132, 0.2)',
|
||||
borderWidth: 2,
|
||||
yAxisID: 'y1'
|
||||
}
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
scales: {
|
||||
y: {
|
||||
type: 'linear',
|
||||
display: true,
|
||||
position: 'left',
|
||||
title: { display: true, text: 'Ct Value' }
|
||||
},
|
||||
y1: {
|
||||
type: 'linear',
|
||||
display: true,
|
||||
position: 'right',
|
||||
title: { display: true, text: 'EndPt' },
|
||||
grid: { drawOnChartArea: false } // Agar garis grid tidak bertumpuk
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
";
|
||||
}
|
||||
$reporthtml .= '</div>';
|
||||
|
||||
// ====================================================================
|
||||
// SIMPAN KE DATABASE
|
||||
// ====================================================================
|
||||
|
||||
$kesimpulan = implode(" | ", $hasil_list);
|
||||
$kesimpulan_safe = substr($kesimpulan, 0, 100);
|
||||
|
||||
try {
|
||||
// Update status tabel Periksa
|
||||
Periksa::where('nofoto', $accession_number)
|
||||
->whereNotIn('status', ['Selesai', 'Arsip', 'Dibatalkan (Arsip)', 'Batal'])
|
||||
->update([
|
||||
'status' => 'Data GeneXpert di Terima'
|
||||
]);
|
||||
|
||||
// Update atau Insert ke Komponen Jawaban
|
||||
if (!empty($kesimpulan)) {
|
||||
KomponenJawaban::updateOrCreate(
|
||||
[
|
||||
'accnumber' => $accession_number,
|
||||
'komponen' => 'genexpert_result', // Ganti key ini sesuai dengan penamaan di frontend Anda
|
||||
],
|
||||
[
|
||||
'isidata' => substr($kesimpulan, 0, 500), // Di tabel ini biasanya lebih panjang
|
||||
'template' => 'GeneXpert',
|
||||
'created_by' => 'GeneXpert Middleware'
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
// Opsional: Simpan log sejarah hasil di ResultSample seperti alat Vitek/BD
|
||||
$resultSample = ResultSample::firstOrNew(['accession_number' => $accession_number]);
|
||||
$resultSample->sender_name = $alat;
|
||||
$resultSample->patient_id = substr($patient_id, 0, 50);
|
||||
$resultSample->patient_name_first = substr($patient_name, 0, 100);
|
||||
$resultSample->organism = $kesimpulan_safe; // Limit varchar(100) ditaati di sini
|
||||
$resultSample->additional_result = json_encode($hasil_list);
|
||||
$resultSample->message_datetime = date('Y-m-d H:i:s');
|
||||
$resultSample->save();
|
||||
|
||||
Log::info("GeneXpert Result Disimpan", ["NoReg" => $accession_number, "Hasil" => $kesimpulan_safe]);
|
||||
|
||||
// Kembalikan TRUE agar update 'processed' => 1 di method processAstmMessagesLokal Anda tereksekusi
|
||||
Riwayat::create([
|
||||
'nofoto' => $accession_number,
|
||||
'jawaban' => $reporthtml,
|
||||
'inputor' => $alat,
|
||||
'keterangan' => date('Y-m-d H:i:s'),
|
||||
'verifikasi' => '',
|
||||
]);
|
||||
|
||||
$resultSample = ResultSample::firstOrNew(['accession_number' => $accession_number]);
|
||||
$resultSample->sender_name = $alat;
|
||||
$resultSample->patient_id = substr($patient_id, 0, 50);
|
||||
$resultSample->patient_name_first = substr($patient_name, 0, 100);
|
||||
$resultSample->organism = $kesimpulan_safe; // Tetap menyimpan text summary
|
||||
$resultSample->additional_result = json_encode($parsedResults); // Menyimpan JSON utuh agar lebih informatif
|
||||
$resultSample->message_datetime = date('Y-m-d H:i:s');
|
||||
$resultSample->save();
|
||||
Log::info("GeneXpert Result Disimpan", ["NoReg" => $accession_number, "Hasil" => $kesimpulan_safe]);
|
||||
return true;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
Log::error("GeneXpert DB Save Error: " . $e->getMessage());
|
||||
return false;
|
||||
|
||||
@@ -2094,9 +2094,6 @@
|
||||
</div>
|
||||
<div class="form-group setelahdipilihtemplate">
|
||||
<div class="form-group account-btn text-center m-t-10">
|
||||
<button type="button" class="btn btn-light waves-effect" id="btngenexpert">
|
||||
<i class="mdi mdi-alpha-g-box mr-1"></i> GenExpert
|
||||
</button>
|
||||
<button type="button" class="btn btn-light waves-effect" id="btnabbot">
|
||||
<i class="mdi mdi-adobe mr-1"></i> Abbot
|
||||
</button>
|
||||
@@ -6905,111 +6902,6 @@
|
||||
|
||||
}
|
||||
});
|
||||
$("#btnviewvitek").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getvitek');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
$("#id_bakteri01").val(response.organism);
|
||||
CKEDITOR.instances['keterangan'].setData(response.pesan);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnbachtect").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getbbachtect');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnmgit").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getmgit');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btngenexpert").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getgenexpert');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnabbot").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
|
||||
@@ -2150,9 +2150,6 @@
|
||||
<div class="form-group setelahdipilihtemplate">
|
||||
<div class="form-group account-btn text-center m-t-10">
|
||||
|
||||
<button type="button" class="btn btn-light waves-effect" id="btngenexpert">
|
||||
<i class="mdi mdi-alpha-g-box mr-1"></i> GenExpert
|
||||
</button>
|
||||
<button type="button" class="btn btn-light waves-effect" id="btnabbot">
|
||||
<i class="mdi mdi-adobe mr-1"></i> Abbot
|
||||
</button>
|
||||
@@ -6925,111 +6922,6 @@
|
||||
|
||||
}
|
||||
});
|
||||
$("#btnviewvitek").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getvitek');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
$("#id_bakteri01").val(response.organism);
|
||||
CKEDITOR.instances['keterangan'].setData(response.pesan);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnbachtect").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getbbachtect');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnmgit").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getmgit');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btngenexpert").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getgenexpert');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnabbot").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
|
||||
@@ -2150,9 +2150,6 @@
|
||||
<div class="form-group setelahdipilihtemplate">
|
||||
<div class="form-group account-btn text-center m-t-10">
|
||||
|
||||
<button type="button" class="btn btn-light waves-effect" id="btngenexpert">
|
||||
<i class="mdi mdi-alpha-g-box mr-1"></i> GenExpert
|
||||
</button>
|
||||
<button type="button" class="btn btn-light waves-effect" id="btnabbot">
|
||||
<i class="mdi mdi-adobe mr-1"></i> Abbot
|
||||
</button>
|
||||
@@ -6916,137 +6913,6 @@
|
||||
|
||||
}
|
||||
});
|
||||
$("#btnviewvitek").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getvitek');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
$("#id_bakteri01").val(response.organism);
|
||||
CKEDITOR.instances['keterangan'].setData(response.pesan);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnbachtect").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getbbachtect');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnmgit").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getmgit');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btngenexpert").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getgenexpert');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#btnabbot").click(function() {
|
||||
var editorValue = CKEDITOR.instances['keterangan'].getData();
|
||||
var jenis = document.getElementById('template_jenis').value;
|
||||
var form_data = new FormData();
|
||||
form_data.append('nofoto', document.getElementById('nofoto').value);
|
||||
form_data.append('jenis', jenis);
|
||||
form_data.append('komponen', 'keterangan');
|
||||
form_data.append('isi', editorValue);
|
||||
form_data.append('keterangan', 'getabbot');
|
||||
form_data.append('_token', '{{csrf_token()}}');
|
||||
$.ajax({
|
||||
url : '{{ route("getResult") }}',
|
||||
data : form_data,
|
||||
type : 'POST',
|
||||
contentType : false,
|
||||
processData : false,
|
||||
success : function (response) {
|
||||
CKEDITOR.instances['keterangan'].setData(response);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
var response = xhr.responseJSON || {};
|
||||
var traceText = response.trace ? JSON.stringify(response.trace) : null;
|
||||
console.log(traceText);
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#id_lokasianatomi").on('change', function() {
|
||||
if ($(this).val() == 'Ekstraparu') {
|
||||
$('#pilihanlokasianatomi').hide();
|
||||
|
||||
Reference in New Issue
Block a user