Update ReportController, RequestsController, and PdfHelper
This commit is contained in:
parent
42d5abc25a
commit
ee68d22d15
@ -115,7 +115,7 @@ class ReportController extends BaseController
|
||||
$data['ispdf'] = 1;
|
||||
|
||||
$html = view('report/template', $data);
|
||||
$filename = $accessnumber . '.pdf';
|
||||
$filename = $accessnumber . ($eng == 1 ? '_eng' : '') . '.pdf';
|
||||
$collectionDate = $data['collectionDate'] ?? '';
|
||||
|
||||
try {
|
||||
|
||||
@ -139,15 +139,81 @@ class RequestsController extends BaseController
|
||||
{
|
||||
$userid = session('userid');
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
|
||||
// Set REPORT_LANG to 1 (English)
|
||||
$sql = "UPDATE GDC_CMOD.dbo.CM_REQUESTS SET REPORT_LANG=1 WHERE ACCESSNUMBER='$accessnumber'";
|
||||
$db->query($sql);
|
||||
|
||||
|
||||
// Log the action
|
||||
$logAudit = "INSERT INTO GDC_CMOD.dbo.AUDIT_EVENTS (ACCESSNUMBER, EVENT_TYPE, USERID, EVENT_AT) VALUES (?, 'SET_ENG', ?, GETDATE())";
|
||||
$db->query($logAudit, [$accessnumber, $userid]);
|
||||
|
||||
return $this->response->setJSON(['status' => 'success', 'message' => 'English result created']);
|
||||
|
||||
// Auto-generate English PDF
|
||||
$pdfResult = $this->generateEngPdf($accessnumber);
|
||||
|
||||
return $this->response->setJSON([
|
||||
'status' => 'success',
|
||||
'message' => 'English result created',
|
||||
'pdf' => $pdfResult
|
||||
]);
|
||||
}
|
||||
|
||||
private function generateEngPdf(string $accessnumber): array
|
||||
{
|
||||
$db = \Config\Database::connect();
|
||||
$reportHelper = new \App\Libraries\ReportHelper($db);
|
||||
|
||||
$data = $reportHelper->getReportData($accessnumber, 1);
|
||||
$data['eng'] = 1;
|
||||
$data['accessnumber'] = $accessnumber;
|
||||
$data['ispdf'] = 1;
|
||||
|
||||
$html = view('report/template', $data);
|
||||
$filename = $accessnumber . '_eng.pdf';
|
||||
|
||||
// Post to spooler
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, 'http://glenlis:3000/api/pdf/generate');
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
|
||||
$payload = [
|
||||
'html' => $html,
|
||||
'filename' => $filename
|
||||
];
|
||||
|
||||
if (!empty($data['collectionDate'])) {
|
||||
$payload['collectionDate'] = $data['collectionDate'];
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
|
||||
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
curl_close($ch);
|
||||
|
||||
if ($httpCode !== 200) {
|
||||
log_message('error', "PDF spooler returned HTTP $httpCode for ENG result $accessnumber");
|
||||
return ['success' => false, 'error' => 'Failed to queue PDF generation'];
|
||||
}
|
||||
|
||||
$responseData = json_decode($response, true);
|
||||
|
||||
// Log PDF generation
|
||||
$stepType = 'ENG_PDF';
|
||||
$stepStatus = 'English';
|
||||
$sqlLog = "INSERT INTO GDC_CMOD.dbo.AUDIT_REQUESTS(ACCESSNUMBER, STEPDATE, STEPTYPE, STEPSTATUS)
|
||||
VALUES (?, GETDATE(), ?, ?)";
|
||||
$db->query($sqlLog, [(string)$accessnumber, $stepType, $stepStatus]);
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
'jobId' => $responseData['jobId'] ?? null,
|
||||
'message' => 'English PDF queued for generation'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ class PdfHelper
|
||||
$data['ispdf'] = 1;
|
||||
|
||||
$html = view('report/template', $data);
|
||||
$filename = $accessnumber . '.pdf';
|
||||
$filename = $accessnumber . ($eng == 1 ? '_eng' : '') . '.pdf';
|
||||
|
||||
return $this->postHtmlToSpooler($html, $filename);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user