form barang bawaan teknisi dan fix bug draft item
This commit is contained in:
@@ -142,6 +142,9 @@ class Teknisi extends CI_Controller {
|
||||
|
||||
$aksi = '<button class="btn btn-info btn-sm btn-detail-teknisi" data-id="'.$row->id.'" title="Detail">
|
||||
<i class="bi bi-eye"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning btn-sm btn-form-barang-bawaan" data-id="'.$row->id.'" data-nama="'.htmlspecialchars($row->full_name, ENT_QUOTES, 'UTF-8').'" title="Form Barang Bawaan">
|
||||
<i class="bi bi-file-earmark-text"></i>
|
||||
</button>';
|
||||
|
||||
$result[] = [
|
||||
@@ -221,6 +224,97 @@ class Teknisi extends CI_Controller {
|
||||
]);
|
||||
}
|
||||
|
||||
public function get_form_barang_bawaan_data()
|
||||
{
|
||||
$user_id = (int)$this->input->get('user_id');
|
||||
|
||||
if (!$user_id) {
|
||||
echo json_encode(['status' => false, 'message' => 'ID teknisi tidak valid']);
|
||||
return;
|
||||
}
|
||||
|
||||
$info = $this->ptm->get_teknisi_info($user_id);
|
||||
if (!$info) {
|
||||
echo json_encode(['status' => false, 'message' => 'Teknisi tidak ditemukan']);
|
||||
return;
|
||||
}
|
||||
|
||||
$items = $this->ptm->get_teknisi_items_full($user_id);
|
||||
$noFaktur = 'GRJN/K/' . date('d/m/Y');
|
||||
$tanggal = date('d F Y');
|
||||
|
||||
$itemsData = [];
|
||||
$no = 1;
|
||||
foreach ($items as $item) {
|
||||
$itemsData[] = [
|
||||
'no' => $no++,
|
||||
'barcode' => $item->barcode ?? '-',
|
||||
'nama_barang' => $item->nama_barang ?? '-',
|
||||
'serial_number' => $item->serial_number ?? '-',
|
||||
'jumlah' => isset($item->qty_sisa) ? (int)$item->qty_sisa : 1,
|
||||
'keterangan' => ''
|
||||
];
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
'status' => true,
|
||||
'data' => [
|
||||
'no_faktur' => $noFaktur,
|
||||
'tanggal' => $tanggal,
|
||||
'teknisi' => $info->full_name,
|
||||
'teknisi_id' => $info->id,
|
||||
'employee_code' => $info->employee_code,
|
||||
'position_name' => $info->position_name,
|
||||
'department_name' => $info->department_name,
|
||||
'total_item' => count($itemsData),
|
||||
'items' => $itemsData
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
public function generate_pdf_barang_bawaan($user_id = null)
|
||||
{
|
||||
if ($this->session->userdata('role') != 'Admin') {
|
||||
show_error('Akses ditolak', 403);
|
||||
}
|
||||
|
||||
$user_id = (int)$user_id;
|
||||
if (!$user_id) {
|
||||
show_error('ID teknisi tidak valid', 400);
|
||||
}
|
||||
|
||||
if (ob_get_length()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
$info = $this->ptm->get_teknisi_info($user_id);
|
||||
if (!$info) {
|
||||
show_error('Teknisi tidak ditemukan', 404);
|
||||
}
|
||||
|
||||
$items = $this->ptm->get_teknisi_items_full($user_id);
|
||||
$noFaktur = 'GRJN/K/' . date('d/m/Y');
|
||||
$tanggal = date('d F Y');
|
||||
|
||||
require_once(APPPATH . 'third_party/fpdf/fpdf.php');
|
||||
require_once(APPPATH . 'libraries/PDF_BarangBawaan.php');
|
||||
|
||||
$pdf = new PDF_BarangBawaan('L', 'mm', 'A5');
|
||||
$pdf->AliasNbPages();
|
||||
$pdf->SetMargins(5, 5, 5);
|
||||
$pdf->SetAutoPageBreak(true, 10);
|
||||
|
||||
$pdf->setFormInfo($noFaktur, $tanggal, $info->full_name);
|
||||
|
||||
$pdf->AddPage('L', 'A5');
|
||||
$pdf->BarangBawaanTable($items);
|
||||
$pdf->SignatureArea();
|
||||
|
||||
$namaFile = 'FORM_BARANG_BAWAAN_' . str_replace(' ', '_', $info->full_name) . '_' . date('Ymd') . '.pdf';
|
||||
$pdf->Output('I', $namaFile);
|
||||
exit;
|
||||
}
|
||||
|
||||
public function get_transfer_data()
|
||||
{
|
||||
$data = $this->ptm->get_transfer_data();
|
||||
|
||||
Reference in New Issue
Block a user