db = \Config\Database::connect(); $this->reportHelper = new \App\Libraries\ReportHelper($this->db); helper(['url', 'text']); } public function generate($accessnumber, $eng = 0, $preview = 0) { $userroleid = session()->get('userroleid'); if (!in_array($userroleid, [0, 1, 2, 4])) { return $this->response->setStatusCode(403)->setJSON(['message' => 'Unauthorized']); } $data = $this->reportHelper->getReportData($accessnumber, $eng); $data['preview'] = $preview; $data['eng'] = $eng; $data['accessnumber'] = $accessnumber; if ($preview == 0) { $this->logPrintAudit($accessnumber, $data['status']); } return view('report/template', $data); } public function preview($accessnumber, $eng = 0) { return $this->generate($accessnumber, $eng, 1); } public function print($accessnumber, $eng = 0) { $userroleid = session()->get('userroleid'); if ($userroleid != 4) { return $this->response->setStatusCode(403)->setJSON(['message' => 'Unauthorized']); } return $this->generate($accessnumber, $eng, 0); } private function logPrintAudit($accessnumber, $status) { $sql = "INSERT INTO GDC_CMOD.dbo.AUDIT_REQUESTS(ACCESSNUMBER, STEPDATE, STEPTYPE, STEPSTATUS) VALUES(?, GETDATE(), 'PRINT', ?)"; $this->db->query($sql, [$accessnumber, $status]); } }