FIX_RFQ_GPA_NOT_OPENING_ISSUE
This commit is contained in:
parent
4f48a5335a
commit
3717c788f8
@ -6802,67 +6802,79 @@ class LeadsController extends BaseController
|
|||||||
|
|
||||||
public function handleMemberDataGPATotalSumInsurerFromExcel($params)
|
public function handleMemberDataGPATotalSumInsurerFromExcel($params)
|
||||||
{
|
{
|
||||||
$lead_id = $params['lead_id'];
|
try {
|
||||||
$lead_data = $this->leadsModel->find((int) $lead_id);
|
$lead_id = $params['lead_id'];
|
||||||
// dd($lead_data);
|
$lead_data = $this->leadsModel->find((int) $lead_id);
|
||||||
$file_name_with_path = WRITEPATH . "/uploads/lead_files/" . $lead_data['file_name'];
|
|
||||||
// dd($file_name_with_path);
|
|
||||||
|
|
||||||
if (! $lead_data) {
|
if (! $lead_data) {
|
||||||
return ['status' => 'failed', 'message' => 'Opportunity data not found'];
|
return ['status' => 'failed', 'message' => 'Opportunity data not found'];
|
||||||
}
|
|
||||||
|
|
||||||
if ($lead_data['file_name']) {
|
|
||||||
|
|
||||||
//check physical file
|
|
||||||
if (! file_exists($file_name_with_path)) {
|
|
||||||
|
|
||||||
$message = "Lead Physcial file not found";
|
|
||||||
$this->myLogger->logme('error', ($message . ' for file ' . $file_name_with_path));
|
|
||||||
return ['status' => 'failed', 'message' => 'no physical file'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_name_with_path);
|
$file_name_with_path = WRITEPATH . "/uploads/lead_files/" . $lead_data['file_name'];
|
||||||
|
|
||||||
//get members data
|
if ($lead_data['file_name']) {
|
||||||
$members_sheet = $spreadsheet->getSheet(0);
|
|
||||||
$highestRowAndColumn = $members_sheet->getHighestRowAndColumn();
|
|
||||||
// dd($highestRowAndColumn);
|
|
||||||
|
|
||||||
$uncleaned_members = $members_sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
|
//check physical file
|
||||||
// dd($uncleaned_members);
|
if (! file_exists($file_name_with_path)) {
|
||||||
|
|
||||||
$members = ExcelSanitizeHelper::sanitizeArrayData($uncleaned_members);
|
$message = "Lead Physcial file not found";
|
||||||
// dd($members);
|
$this->myLogger->logme('error', ($message . ' for file ' . $file_name_with_path));
|
||||||
|
return ['status' => 'failed', 'message' => 'no physical file'];
|
||||||
// Check column headings
|
|
||||||
$members_heading = $members[0];
|
|
||||||
$available_col = [];
|
|
||||||
|
|
||||||
$lower_headers = array_map('strtolower', $members_heading);
|
|
||||||
foreach ($lower_headers as $index => $header) {
|
|
||||||
if (preg_match('/^(sa\s*-\s*option|proposed\s+sum\s+insured)\s+\d+$/i', $header)) {
|
|
||||||
$column_name = $members_heading[$index];
|
|
||||||
$sum = 0;
|
|
||||||
|
|
||||||
for ($i = 1; $i < count($members); $i++) {
|
|
||||||
$cell_raw = $members[$i][$index] ?? '';
|
|
||||||
$cell_clean = preg_replace('/[^0-9.\-]/', '', $cell_raw); // remove non-numeric chars
|
|
||||||
|
|
||||||
if ($cell_clean !== '' && is_numeric($cell_clean)) {
|
|
||||||
$sum += (float) $cell_clean;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$available_col[] = $sum;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_name_with_path);
|
||||||
|
|
||||||
|
//get members data
|
||||||
|
$members_sheet = $spreadsheet->getSheet(0);
|
||||||
|
$highestRowAndColumn = $members_sheet->getHighestRowAndColumn();
|
||||||
|
|
||||||
|
// Read raw values and skip formula evaluation to avoid Calculation exceptions from malformed formulas.
|
||||||
|
$uncleaned_members = $members_sheet->rangeToArray(
|
||||||
|
'A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row'],
|
||||||
|
null,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
$members = ExcelSanitizeHelper::sanitizeArrayData($uncleaned_members);
|
||||||
|
|
||||||
|
// Check column headings
|
||||||
|
$members_heading = $members[0];
|
||||||
|
$available_col = [];
|
||||||
|
|
||||||
|
$lower_headers = array_map('strtolower', $members_heading);
|
||||||
|
foreach ($lower_headers as $index => $header) {
|
||||||
|
if (preg_match('/^(sa\s*-\s*option|proposed\s+sum\s+insured)\s+\d+$/i', $header)) {
|
||||||
|
$sum = 0;
|
||||||
|
|
||||||
|
for ($i = 1; $i < count($members); $i++) {
|
||||||
|
$cell_raw = $members[$i][$index] ?? '';
|
||||||
|
$cell_clean = preg_replace('/[^0-9.\-]/', '', $cell_raw); // remove non-numeric chars
|
||||||
|
|
||||||
|
if ($cell_clean !== '' && is_numeric($cell_clean)) {
|
||||||
|
$sum += (float) $cell_clean;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$available_col[] = $sum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $available_col;
|
||||||
}
|
}
|
||||||
|
|
||||||
// dd($available_col);
|
return [];
|
||||||
return $available_col;
|
} catch (\Throwable $e) {
|
||||||
}
|
log_message('error', 'Exception in handleMemberDataGPATotalSumInsurerFromExcel: {message}', [
|
||||||
|
'message' => $e->getMessage(),
|
||||||
|
]);
|
||||||
|
log_message('error', 'Trace: {trace}', [
|
||||||
|
'trace' => $e->getTraceAsString(),
|
||||||
|
]);
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateDemographyDataTable($param = [])
|
public function generateDemographyDataTable($param = [])
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user