diff --git a/app/Controllers/Activities.php b/app/Controllers/Activities.php index 809b552..8e4f977 100644 --- a/app/Controllers/Activities.php +++ b/app/Controllers/Activities.php @@ -1690,6 +1690,11 @@ class Activities extends Controller { ]; $certificateModel = new CertificateModel(); $certificateModel->insert($insertCert); + + $certid = $certificateModel->getInsertID(); + + $newCertificate = $certificateModel->find($certid); + $certificateModel->update($certid, ['file_url' => base_url('certificates/number/'.$newCertificate['cert_number'])]); } public function updateCertificateMaintenance($actid, $issuedDate, $userid_owner) { $certificateModel = new CertificateModel(); @@ -1746,6 +1751,10 @@ class Activities extends Controller { if (!$isDataExist) { // Jika data belum ada sama sekali (array kosong), eksekusi INSERT $certificateModel->insert($certPayload); + + $certid = $certificateModel->getInsertID(); + $newCertificate = $certificateModel->find($certid); + $certificateModel->update($certid, ['file_url' => base_url('certificates/number/'.$newCertificate['cert_number'])]); } else { // Jika data sudah ada, eksekusi UPDATE // Catatan: Karena bisa ada lebih dari 1 data dengan actid yang sama (karena findAll), diff --git a/app/Controllers/Certificates.php b/app/Controllers/Certificates.php index 1dc4d26..5bdc05f 100644 --- a/app/Controllers/Certificates.php +++ b/app/Controllers/Certificates.php @@ -6,6 +6,9 @@ use App\Controllers\BaseController; use Dompdf\Dompdf; use Dompdf\Options; +use Endroid\QrCode\Builder\Builder; +use Endroid\QrCode\Writer\PngWriter; + use App\Models\CertificateModel; class Certificates extends BaseController { @@ -208,6 +211,7 @@ class Certificates extends BaseController { certificates.cert_name, certificates.issued_date, certificates.expired_date, + certificates.file_url, productcatalog.productname as productname, sites.sitename as sitename, products.productnumber, @@ -245,6 +249,15 @@ class Certificates extends BaseController { 'expireddate' => $data['expired_date'] ]; + $builder = new Builder( + writer: new PngWriter(), + data: $data['file_url'], + size: 120, + margin: 0 + ); + $result = $builder->build(); + $certificate['qrcode'] = $result->getDataUri(); + if (empty($certificate)) { // Jika Tidak Ada return $this->response->setStatusCode(404)->setJSON(['error' => 'Maintenance certificate not found']); } @@ -572,7 +585,7 @@ class Certificates extends BaseController { 'file_location' => $pdfAfterValidation['file_relative'], 'metadata_title' => $pdfAfterValidation['metadata_title'], 'metadata_keywords' => $pdfAfterValidation['metadata_keywords'].";".base_url('certificates/number/'.$latestData['cert_number']), - 'file_url' => base_url('certificates/number/'.$latestData['cert_number']) + // 'file_url' => base_url('certificates/number/'.$latestData['cert_number']) ]); return $this->response->setJSON([ diff --git a/app/Views/certificate_maintenance_index.php b/app/Views/certificate_maintenance_index.php index fc9e713..ab6a15a 100644 --- a/app/Views/certificate_maintenance_index.php +++ b/app/Views/certificate_maintenance_index.php @@ -265,7 +265,7 @@ $(function () { statusBadge, validationBadge, status == 'unvalidated' - ? `
` + ? `
` : `
` ]; diff --git a/app/Views/certificates/certificate_maintenance.php b/app/Views/certificates/certificate_maintenance.php index a03f51e..539212c 100644 --- a/app/Views/certificates/certificate_maintenance.php +++ b/app/Views/certificates/certificate_maintenance.php @@ -60,7 +60,8 @@ } .detail-information { text-align: center; - margin-bottom: 137px; + /* margin-bottom: 137px; */ + margin-bottom: 29px; } h4 { margin :0; @@ -73,7 +74,7 @@ .signature-table { width: 100%; border-collapse: collapse; - margin-bottom: 41px; + margin-bottom: 26px; } .signature-table td { width: 50%; /* Membagi dua sisi sama rata */ @@ -122,6 +123,9 @@ +
+ +