FIX_LEAD_VIEW_DEMO : RV
This commit is contained in:
parent
03e9008898
commit
b3361766fe
@ -2080,95 +2080,102 @@ class LeadsController extends BaseController
|
|||||||
if (!$lead_data) {
|
if (!$lead_data) {
|
||||||
return ['status' => 'failed', 'message' => 'Lead data not found'];
|
return ['status' => 'failed', 'message' => 'Lead data not found'];
|
||||||
}
|
}
|
||||||
if ($lead_data['file_name']) {
|
|
||||||
// $file_name_with_path = WRITEPATH . "/uploads/lead_files/NonPrintableCharacters.xlsx";
|
|
||||||
|
|
||||||
//check physical file
|
try{
|
||||||
if (!file_exists($file_name_with_path)) {
|
if ($lead_data['file_name']) {
|
||||||
//file not found update status and reason
|
// $file_name_with_path = WRITEPATH . "/uploads/lead_files/NonPrintableCharacters.xlsx";
|
||||||
$message = "Lead Physcial file not found";
|
|
||||||
// echo $message;
|
|
||||||
$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);
|
//check physical file
|
||||||
|
if (!file_exists($file_name_with_path)) {
|
||||||
//get members data
|
//file not found update status and reason
|
||||||
$members_sheet = $spreadsheet->getSheet(0);
|
$message = "Lead Physcial file not found";
|
||||||
$highestRowAndColumn = $members_sheet->getHighestRowAndColumn();
|
// echo $message;
|
||||||
// dd($highestRowAndColumn);
|
$this->myLogger->logme('error', ($message . ' for file ' . $file_name_with_path));
|
||||||
$uncleaned_members = $members_sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
|
return ['status' => 'failed', 'message' => 'no physical file'];
|
||||||
$members = ExcelSanitizeHelper::sanitizeArrayData($uncleaned_members);
|
|
||||||
//get age band data
|
|
||||||
$age_band_sheet = $spreadsheet->getSheet(1);
|
|
||||||
$highestRowAndColumn = $age_band_sheet->getHighestRowAndColumn();
|
|
||||||
$age_band_data = $age_band_sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
|
|
||||||
|
|
||||||
|
|
||||||
//check age or dob column
|
|
||||||
$members_heading = $members[0];
|
|
||||||
$available_col = null;
|
|
||||||
$col_index = null;
|
|
||||||
|
|
||||||
if (in_array('age', array_map('strtolower', $members_heading))) {
|
|
||||||
$available_col = 'age';
|
|
||||||
$col_index = array_search('age', array_map('strtolower', $members_heading));
|
|
||||||
} elseif (in_array('dob', array_map('strtolower', $members_heading))) {
|
|
||||||
$available_col = 'dob';
|
|
||||||
$col_index = array_search('dob', array_map('strtolower', $members_heading));
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($available_col == null) {
|
|
||||||
$message = 'No DOB or Age column ';
|
|
||||||
$this->myLogger->logme('error', ($message . $file_name_with_path));
|
|
||||||
return ['status' => 'failed', 'message' => $message];
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
$classifiers = $this->getDemographyData($members, $age_band_data, $members_heading, $available_col, $col_index);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return ['status' => 'fail', 'message' => $e->getMessage()];
|
|
||||||
}
|
|
||||||
|
|
||||||
//for this to view the demography in the RFQ and QCR page to using internal
|
|
||||||
if($returnType == "internal"){
|
|
||||||
return ['data' => $classifiers];
|
|
||||||
// print_rr($classifiers); die;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
|
||||||
$result = $this->generateClassifierSpreadsheet($classifiers, WRITEPATH . 'uploads/lead_files/');
|
|
||||||
if ($result['success']) {
|
|
||||||
$this->myLogger->logme('error', "Spreadsheet generated successfully!");
|
|
||||||
|
|
||||||
echo "Location: " . $result['fullpath'] . "\n";
|
|
||||||
echo "Filename: " . $result['filename'] . "\n";
|
|
||||||
$filePaths = [
|
|
||||||
['file_path' => WRITEPATH . 'uploads/lead_files/' . $lead_data['file_name'], 'sheets' => [0, 1]],
|
|
||||||
['file_path' => WRITEPATH . '/uploads/lead_files/' . $result['filename'], 'sheets' => []],
|
|
||||||
];
|
|
||||||
$outputPath = WRITEPATH . 'uploads/lead_files/' . $lead_data['file_name'];
|
|
||||||
$result_merge = ExcelMergeHelper::mergeExcelFiles($filePaths, $outputPath);
|
|
||||||
if ($result_merge) {
|
|
||||||
// Call the delete function after the file is successfully created
|
|
||||||
$deleteResponse = $this->deleteGeneratedFile($result['fullpath']);
|
|
||||||
|
|
||||||
// Add delete message to response
|
|
||||||
$response['deleteMessage'] = $deleteResponse['message'];
|
|
||||||
return ['status' => 'success', 'message' => 'Member_Data Merged Suceesfully'];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
echo "Error generating spreadsheet: " . $result['error'];
|
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
|
||||||
echo "Error: " . $e->getMessage();
|
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_name_with_path);
|
||||||
return ['status' => 'fail', 'message' => $e->getMessage()];
|
|
||||||
|
//get members data
|
||||||
|
$members_sheet = $spreadsheet->getSheet(0);
|
||||||
|
$highestRowAndColumn = $members_sheet->getHighestRowAndColumn();
|
||||||
|
// dd($highestRowAndColumn);
|
||||||
|
$uncleaned_members = $members_sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
|
||||||
|
$members = ExcelSanitizeHelper::sanitizeArrayData($uncleaned_members);
|
||||||
|
//get age band data
|
||||||
|
$age_band_sheet = $spreadsheet->getSheet(1);
|
||||||
|
$highestRowAndColumn = $age_band_sheet->getHighestRowAndColumn();
|
||||||
|
$age_band_data = $age_band_sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
|
||||||
|
|
||||||
|
|
||||||
|
//check age or dob column
|
||||||
|
$members_heading = $members[0];
|
||||||
|
$available_col = null;
|
||||||
|
$col_index = null;
|
||||||
|
|
||||||
|
if (in_array('age', array_map('strtolower', $members_heading))) {
|
||||||
|
$available_col = 'age';
|
||||||
|
$col_index = array_search('age', array_map('strtolower', $members_heading));
|
||||||
|
} elseif (in_array('dob', array_map('strtolower', $members_heading))) {
|
||||||
|
$available_col = 'dob';
|
||||||
|
$col_index = array_search('dob', array_map('strtolower', $members_heading));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($available_col == null) {
|
||||||
|
$message = 'No DOB or Age column ';
|
||||||
|
$this->myLogger->logme('error', ($message . $file_name_with_path));
|
||||||
|
return ['status' => 'failed', 'message' => $message];
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$classifiers = $this->getDemographyData($members, $age_band_data, $members_heading, $available_col, $col_index);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return ['status' => 'fail', 'message' => $e->getMessage()];
|
||||||
|
}
|
||||||
|
|
||||||
|
//for this to view the demography in the RFQ and QCR page to using internal
|
||||||
|
if($returnType == "internal"){
|
||||||
|
return ['data' => $classifiers];
|
||||||
|
// print_rr($classifiers); die;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
$result = $this->generateClassifierSpreadsheet($classifiers, WRITEPATH . 'uploads/lead_files/');
|
||||||
|
if ($result['success']) {
|
||||||
|
$this->myLogger->logme('error', "Spreadsheet generated successfully!");
|
||||||
|
|
||||||
|
echo "Location: " . $result['fullpath'] . "\n";
|
||||||
|
echo "Filename: " . $result['filename'] . "\n";
|
||||||
|
$filePaths = [
|
||||||
|
['file_path' => WRITEPATH . 'uploads/lead_files/' . $lead_data['file_name'], 'sheets' => [0, 1]],
|
||||||
|
['file_path' => WRITEPATH . '/uploads/lead_files/' . $result['filename'], 'sheets' => []],
|
||||||
|
];
|
||||||
|
$outputPath = WRITEPATH . 'uploads/lead_files/' . $lead_data['file_name'];
|
||||||
|
$result_merge = ExcelMergeHelper::mergeExcelFiles($filePaths, $outputPath);
|
||||||
|
if ($result_merge) {
|
||||||
|
// Call the delete function after the file is successfully created
|
||||||
|
$deleteResponse = $this->deleteGeneratedFile($result['fullpath']);
|
||||||
|
|
||||||
|
// Add delete message to response
|
||||||
|
$response['deleteMessage'] = $deleteResponse['message'];
|
||||||
|
return ['status' => 'success', 'message' => 'Member_Data Merged Suceesfully'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo "Error generating spreadsheet: " . $result['error'];
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo "Error: " . $e->getMessage();
|
||||||
|
return ['status' => 'fail', 'message' => $e->getMessage()];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->myLogger->logme('error', (' no file found ' . $file_name_with_path));
|
||||||
|
return ['status' => 'failed', 'message' => 'no file found'];
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$this->myLogger->logme('error', (' no file found ' . $file_name_with_path));
|
}catch(Exception $e){
|
||||||
return ['status' => 'failed', 'message' => 'no file found'];
|
$this->myLogger->logme("error", "Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString());
|
||||||
|
return ['status' => 'fail', 'error' => "File not found / Wrong file"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -706,7 +706,7 @@
|
|||||||
if(isset($demogrphy_html_data) && !empty($demogrphy_html_data)){
|
if(isset($demogrphy_html_data) && !empty($demogrphy_html_data)){
|
||||||
echo $demogrphy_html_data;
|
echo $demogrphy_html_data;
|
||||||
}else{
|
}else{
|
||||||
echo "<p style='text-align: center; color: #6c757d; font-style: italic;'>No Demography Data Found</p>";
|
echo "<p style='text-align: center; color: #6c757d; font-style: italic;'>No Demography Data Found or Wrong File</p>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user