669 lines
27 KiB
PHP
669 lines
27 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Helpers\MailHelper;
|
|
|
|
use CodeIgniter\HTTP\IncomingRequest;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
|
|
use App\Models\EmployeeModel;
|
|
use App\Models\EmployeePolicyModel;
|
|
use App\Models\ClientModel;
|
|
use App\Models\PolicesModel;
|
|
use App\Models\RelationshipModel;
|
|
use App\Models\FileModel;
|
|
use App\Models\ClientPolicyModel;
|
|
|
|
use App\Controllers\Jobs ;
|
|
use App\Controllers\JobWorker ;
|
|
|
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
|
|
use CodeIgniter\API\ResponseTrait;
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
class EmployeeRestController extends AdminController
|
|
{
|
|
|
|
use ResponseTrait;
|
|
|
|
protected $myLogger;
|
|
protected $employeeModel;
|
|
protected $employeePolicyModel;
|
|
protected $clientModel;
|
|
protected $fileModel;
|
|
protected $policesModel;
|
|
protected $relationshipModel;
|
|
protected $clientPolicyModel;
|
|
|
|
public function __construct()
|
|
{
|
|
// helper('utility');
|
|
set_session_context('Employee');
|
|
$this->myLogger = \Config\Services::mylogger();
|
|
$this->employeeModel = new EmployeeModel();
|
|
$this->employeePolicyModel = new EmployeePolicyModel();
|
|
$this->clientModel = new ClientModel();
|
|
$this->policesModel = new PolicesModel();
|
|
$this->relationshipModel = new RelationshipModel();
|
|
$this->fileModel= new FileModel();
|
|
$this->clientPolicyModel = new ClientPolicyModel();
|
|
}
|
|
|
|
|
|
public function getEmployeeProfile()
|
|
{
|
|
try {
|
|
$emp_code = $this->request->getGet('emp_code');
|
|
if ($emp_code) {
|
|
$relationship = 'self';
|
|
$employee = $this->employeeModel->where('emp_code', $emp_code)
|
|
->where('relationship', $relationship)
|
|
->first();
|
|
$result = $employee;
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
|
} else {
|
|
$result = "No Match's";
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],404);
|
|
}
|
|
} catch (\Throwable $th) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
|
}
|
|
}
|
|
|
|
|
|
public function editEmployeeProfile()
|
|
{
|
|
try {
|
|
$data = $this->request->getJSON();
|
|
if ($data) {
|
|
$id = $data->id;
|
|
$employee = $this->employeeModel->update($id, $data);
|
|
|
|
if ($employee) {
|
|
$result = [];
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
|
} else {
|
|
$result = "No Match's";
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],404);
|
|
}
|
|
}
|
|
} catch (\Throwable $th) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public function getEmployeeAndDependence()
|
|
{
|
|
try {
|
|
$emp_code = $this->request->getGet('emp_code');
|
|
if ($emp_code) {
|
|
$employee = $this->employeeModel->where('emp_code', $emp_code)->findAll();
|
|
$dateConverter = function($item) {
|
|
if ($item['dob'] !== '0000-00-00') {
|
|
$dateTime = \DateTime::createFromFormat('Y-m-d', $item['dob']);
|
|
$item['dob'] = $dateTime->format('d-m-Y');
|
|
}
|
|
return $item;
|
|
};
|
|
$employee = array_map($dateConverter, $employee);
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $employee],200);
|
|
|
|
} else {
|
|
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => []],404);
|
|
}
|
|
} catch (\Throwable $th) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public function editEmployeeAndDependence()
|
|
{
|
|
try {
|
|
$data = $this->request->getJSON();
|
|
if ($data) {
|
|
$updatedCount = 0;
|
|
foreach ($data as $item) {
|
|
$id = $item->id;
|
|
$item->dob = $this->convertDateFormat($item->dob);
|
|
$employee = $this->employeeModel->update($id, (array)$item);
|
|
if ($employee) {
|
|
$updatedCount++;
|
|
}
|
|
}
|
|
|
|
if ($updatedCount > 0) {
|
|
$result = [];
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
|
|
} else {
|
|
$result = "No Matches";
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result], 404);
|
|
}
|
|
}
|
|
} catch (\Throwable $th) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th], 500);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public function addEmployeeAndDependence()
|
|
{
|
|
try {
|
|
$data = $this->request->getJSON();
|
|
|
|
if ($data) {
|
|
$Count = 0;
|
|
foreach ($data as $item) {
|
|
if (isset($item->id)) {
|
|
//update old data
|
|
$id = $item->id;
|
|
$item->family_floater_key = $this->RelationshipMap($item->relationship);
|
|
$item->dob = $this->convertDateFormat($item->dob);
|
|
$employee = $this->employeeModel->update($id, (array)$item);
|
|
if ($employee) {
|
|
$Count++;
|
|
}
|
|
}else{
|
|
//create new data
|
|
$item->family_floater_key = $this->RelationshipMap($item->relationship);
|
|
$item->dob = $this->convertDateFormat($item->dob);
|
|
$employee = $this->employeeModel->insert($item);
|
|
if ($employee) {
|
|
$Count++;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($Count > 0) {
|
|
$result = [];
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
|
|
} else {
|
|
$result = "No Matches";
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result], 404);
|
|
}
|
|
}
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
|
|
}
|
|
|
|
public function RelationshipMap($value){
|
|
|
|
if ($value === 'Mother' || $value === 'Father') {
|
|
return 'parent';
|
|
} else if($value === 'Son' || $value === 'Daughter'){
|
|
return 'child';
|
|
}else if($value === 'Father in Law' || $value === 'Mother in Law'){
|
|
return 'parent_in_law';
|
|
}else if($value === 'Spouse'){
|
|
return 'spouse';
|
|
}
|
|
}
|
|
|
|
private function convertDateFormat($dateString)
|
|
{
|
|
// Attempt to create a DateTime object from the provided date string
|
|
$dateTime = \DateTime::createFromFormat('d-m-Y', $dateString);
|
|
|
|
// Check if the conversion was successful and the date string is in the format dd-mm-yyyy
|
|
if ($dateTime instanceof \DateTime) {
|
|
// Format the date to yyyy-mm-dd
|
|
return $dateTime->format('Y-m-d');
|
|
} else {
|
|
// If the date string is not in the format dd-mm-yyyy, return null
|
|
return null;
|
|
}
|
|
}
|
|
public function deleteDependence()
|
|
{
|
|
try {
|
|
if($this->request->getGet('id'))
|
|
{
|
|
$delete = $this->employeeModel->where('id', $this->request->getGet('id'))->delete();
|
|
|
|
if ($delete) {
|
|
return $this->respond(['status' => 'success','code' => 200,'data' =>[] ], 200);
|
|
} else {
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => [] ], 404);
|
|
}
|
|
}else{
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => [] ], 404);
|
|
}
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public function getEmployeeAndDependenceByClientId()
|
|
{
|
|
try {
|
|
$empData = $this->employeePolicyModel->getEmployeePolicy( $this->request->getGet('client_id'), $this->request->getGet('client_policy_id'));
|
|
// $empData = $this->employeeModel->where('client_id', $this->request->getGet('client_id'))
|
|
// ->where('relationship !=', null)
|
|
|
|
if ($empData) {
|
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $empData], 200);
|
|
} else {
|
|
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 404);
|
|
}
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
|
|
}
|
|
|
|
public function getClientPolicy()
|
|
{
|
|
try {
|
|
$ClientPolicyData = $this->clientPolicyModel->select('client_policy.id as client_policy_id , client_policy.client_id as client_id, policies.id as policy_id,policies.policy_type_id as policy_type_id, policies.name as policy_name')
|
|
->join('policies', 'client_policy.policy_id = policies.id', 'left')
|
|
->where('client_policy.client_id', $this->request->getGet('client_id') )
|
|
->findAll();
|
|
|
|
$result[] = $ClientPolicyData[0];
|
|
$result[] = $ClientPolicyData[2];
|
|
// You probably meant to check $result, not $data
|
|
if ($ClientPolicyData) {
|
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result], 200);
|
|
} else {
|
|
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 404);
|
|
}
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public function getEmployeePolicy()
|
|
{
|
|
try {
|
|
$id = $this->request->getGet('id');
|
|
$emp_code = $this->request->getGet('emp_code');
|
|
|
|
$keysToRemove = ["removable_keys"];
|
|
|
|
$empPolicy = $this->employeeModel->getEmployeePolicy($id);
|
|
$empData = $this->employeeModel->where('emp_code',$emp_code)->findAll();
|
|
if ($empPolicy) {
|
|
|
|
$result = [];
|
|
foreach ($empPolicy as $array) {
|
|
|
|
$decodedArray = json_decode($array->Policy_Terms);
|
|
$refusingData = (object) array_diff_key((array) $decodedArray, array_flip($keysToRemove));
|
|
|
|
|
|
$array->Policy_Terms = $refusingData;
|
|
$getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($array->ClientPolicyId,$array->ClientId);
|
|
$array->SlabRates = $getSlabAndGridData['slab_rates'];
|
|
$array->GridMaster = $getSlabAndGridData['grid_master'];
|
|
|
|
if($getSlabAndGridData['grid_master']['policy_type'] == "GPA"){
|
|
$default_si = $array->Policy_Terms->sumInsured2;
|
|
$index = -1;
|
|
foreach ($array->SlabRates as $key => $value) {
|
|
if ($value['si'] == $default_si) {
|
|
$index = $key;
|
|
break;
|
|
}
|
|
}
|
|
if ($index >= 0) {
|
|
$element =$array->SlabRates[$index];
|
|
array_splice($array->SlabRates, $index, 1);
|
|
array_unshift($array->SlabRates, $element);
|
|
}
|
|
|
|
}else if($getSlabAndGridData['grid_master']['policy_type'] == "GMC"){
|
|
|
|
// re-arranging order of si
|
|
$default_si = $array->Policy_Terms->sum_insured;
|
|
$index = -1;
|
|
foreach ($array->SlabRates as $key => $value) {
|
|
if ($value['si'] == $default_si) {
|
|
$index = $key;
|
|
break;
|
|
}
|
|
}
|
|
if ($index >= 0) {
|
|
$element =$array->SlabRates[$index];
|
|
array_splice($array->SlabRates, $index, 1);
|
|
array_unshift($array->SlabRates, $element);
|
|
}
|
|
|
|
//map family floates array to employee and dependent
|
|
$familyFloates = $array->Policy_Terms->family_floaters;
|
|
$data = [];
|
|
foreach ($familyFloates as $familyFloatesValue) {
|
|
$dependent = preg_replace('/\d/', '', $familyFloatesValue);
|
|
if(count($empData)){
|
|
foreach ($empData as $key => $value) {
|
|
if ($value['family_floater_key'] === $dependent) {
|
|
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array->ClientPolicyId)->get()->getRow();
|
|
$temp['family_floater_key'] = $familyFloatesValue;
|
|
$temp['label'] = $value['relationship'];
|
|
$temp['name'] = $value['name'];
|
|
$temp['employee_id'] = $value['id'];
|
|
$temp['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null;
|
|
$temp['client_policy_id'] = $array->ClientPolicyId;
|
|
|
|
array_push($data,$temp);
|
|
unset($empData[$key]);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$array->mapped_family_floaters = $data;
|
|
|
|
}
|
|
|
|
$result[] = $array;
|
|
}
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
|
|
}else{
|
|
return $this->respond(['status' => 'failed','code' => 404,'data' => []], 404);
|
|
}
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
}
|
|
|
|
// Get the RelationShip list
|
|
|
|
public function createOrUpdateEmployeePolicySiAmount()
|
|
{
|
|
|
|
try {
|
|
$requestData = $this->request->getJSON();
|
|
|
|
|
|
$checkIfExist = $this->employeePolicyModel->where('employee_id', $requestData['employee_id'])
|
|
->where('client_policy_id', $requestData['client_policy_id'])
|
|
->findAll();
|
|
// dd($checkIfExist);
|
|
if ($checkIfExist) {
|
|
|
|
$empPolicy = $this->employeePolicyModel->updateSiAndPremium($requestData['client_policy_id'], $requestData['employee_id'], $requestData['basic_cover_si']);
|
|
|
|
}else{
|
|
|
|
$data['employee_id']= $requestData['employee_id'];
|
|
$data['client_policy_id']= $requestData['client_policy_id'];
|
|
$data['basic_cover_si']= $requestData['basic_cover_si'];
|
|
|
|
$this->employeePolicyModel->insert($data);
|
|
}
|
|
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => []], 200);
|
|
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
}
|
|
|
|
|
|
public function relationshipList()
|
|
{
|
|
try {
|
|
|
|
$relation_ships= $this->relationshipModel->findAll();
|
|
|
|
if(count($relation_ships) > 0){
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => $relation_ships], 200);
|
|
}else{
|
|
return $this->respond(['status' => 'success','code' => 200,'data' => "No Data..!"], 200);
|
|
}
|
|
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
}
|
|
}
|
|
|
|
// Upload the Sheet Data in DB
|
|
public function employeeUpload()
|
|
{
|
|
$file = $this->request->getFile('file');
|
|
$client_id = $this->request->getPost('client_id');
|
|
$policy_id = $this->request->getPost('policy_id');
|
|
|
|
$is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
|
|
$filename = $file->getName();
|
|
$file_name_with_path = WRITEPATH."/uploads/import_excel/".$filename;
|
|
|
|
//check the file exist or not
|
|
if(!file_exists($file_name_with_path))
|
|
{
|
|
session()->setFlashdata('error', 'File not found');
|
|
return redirect()->to(base_url('employee/upload'));
|
|
}
|
|
// Load the Excel file
|
|
$spreadsheet = IOFactory::load($file_name_with_path);
|
|
|
|
// Get the active sheet
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
|
|
// Get the highest row and column numbers
|
|
$highestRow = $sheet->getHighestRow();
|
|
$highestColumn = $sheet->getHighestColumn();
|
|
|
|
$highestRowAndColumn = $sheet->getHighestRowAndColumn();
|
|
$data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
|
|
// print_r($excel_data);die();
|
|
// $data = [];
|
|
// $data[] =$excel_data;
|
|
|
|
// print_r($data);die;
|
|
// Iterate through each row
|
|
// for ($row = 1; $row <= $highestRow; $row++) {
|
|
// // Initialize the row data array
|
|
// $rowData = [];
|
|
|
|
// // Iterate through each column in the row
|
|
// for ($col = 'A'; $col <= $highestColumn; $col++) {
|
|
// // Get the cell value
|
|
// $value = $sheet->getCell($col . $row)->getValue();
|
|
// // print_r($value);
|
|
// // Add the cell value to the row data array
|
|
// $rowData[] = $value;
|
|
// }
|
|
|
|
// // Add the row data to the main data array
|
|
// $data[] = $rowData;
|
|
// }
|
|
// print_r($data);die;
|
|
|
|
$extractData['file_name']= $filename;
|
|
$extractData['client_id']= $client_id;
|
|
$extractData['status']= 'success';
|
|
$extractData['policy_id']= $policy_id;
|
|
$extractData['action']= 'enrollment';
|
|
// $extractData['created_by']=set_session_context('Employee');
|
|
|
|
$file_data =$this->fileModel->insert($extractData);
|
|
|
|
$extra = [];
|
|
//this change the column name into index number
|
|
for ($i = 0; $i < count($data[0]); $i++) {
|
|
$data[0][$i] = $i;
|
|
}
|
|
for ($i = 0; $i < count($data); $i++) {
|
|
if ($i == 0) {
|
|
// Loop through the first row to extract keys
|
|
for ($j = 0; $j < count($data[$i]); $j++) {
|
|
$extra[$data[$i][$j]] = []; // Initialize keys with empty array
|
|
}
|
|
} else {
|
|
// Loop through subsequent rows
|
|
for ($j = 0; $j < count($data[$i]); $j++) {
|
|
// Append values to corresponding keys in $extra
|
|
if (isset($extra[$data[0][$j]])) {
|
|
// Make sure the key exists in the $extra array
|
|
$extra[$data[0][$j]][] = $data[$i][$j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// print_r("Extra", $extra);die;
|
|
$dataToInsert = [];
|
|
$basic_cover_si= [];
|
|
// print_r($extra);die;
|
|
foreach ($extra['0'] as $index => $id) {
|
|
$relation ='';
|
|
if ($extra['5'][$index] === 'Mother' || $extra['5'][$index] === 'Father') {
|
|
$relation = 'parent';
|
|
} else if($extra['5'][$index] === 'Son' || $extra['5'][$index] === 'Daughter'){
|
|
$relation = 'child';
|
|
}else if($extra['5'][$index] === 'Father in Law' || $extra['5'][$index] === 'Mother in Law'){
|
|
$relation = 'parent_in_law';
|
|
}else if($extra['5'][$index] === 'Spouse'){
|
|
$relation = 'spouse';
|
|
}else{
|
|
$relation = 'self';
|
|
}
|
|
|
|
// Simplified formatDate function
|
|
|
|
|
|
// Assigning formatted dates
|
|
// print_r($extra['3']);die;
|
|
$doj = $extra['3'][$index] ;
|
|
$dob = $extra['6'][$index] ;
|
|
|
|
|
|
// Change date format for $doj
|
|
$doj_new_format = date('Y-m-d', strtotime($doj)); // $doj_new_format will be "2001-02-12"
|
|
|
|
// Change date format for $dob
|
|
$dob_new_format = date('Y-m-d', strtotime($dob));
|
|
|
|
// Your existing code here
|
|
|
|
$emp_code =isset($extra['1'][$index]) ? $extra['1'][$index] : 0;
|
|
$name = $extra['2'][$index];
|
|
|
|
// print_r("--" . $emp_code. "---");
|
|
// print_r( $emp_code != 0 );
|
|
if($emp_code != 0 && $name != '' || $name != null){
|
|
$record = [
|
|
// 'id' => $id,
|
|
'emp_code' => $emp_code,
|
|
'name' => $name,
|
|
// Check if the 'doj' key exists before accessing it
|
|
'doj' => $doj_new_format,
|
|
'gender' => $extra['4'][$index],
|
|
'relationship' => ucfirst($extra['5'][$index]),
|
|
'family_floater_key' => $relation,
|
|
'dob' => $dob_new_format,
|
|
'email_corporate' => $extra['7'][$index],
|
|
'mobile'=> $extra['8'][$index],
|
|
'client_id' => $client_id,
|
|
'emp_status'=>'draft'
|
|
|
|
];
|
|
$record2 = [
|
|
'basic_cover_si' => isset($extra['9'][$index]) ? $extra['9'][$index] : 0,
|
|
];
|
|
$dataToInsert[] = $record;
|
|
$basic_cover_si[]= $record2;
|
|
}
|
|
}
|
|
for ($a=0; $a <count($dataToInsert) ; $a++)
|
|
{
|
|
$employee = $this->employeeModel->checkExistingEmpEntrollment($dataToInsert[$a]);
|
|
$emp_id =0;
|
|
|
|
if ($employee) {
|
|
$emp_id =$employee['id'];
|
|
$id =$emp_id;
|
|
$result = $this->employeeModel->update($id, $dataToInsert[$a]);
|
|
if ($result) {
|
|
$log_message = 'Update Employee - '.$employee['name'].'('.$employee['emp_code'].') with PK '.$employee['id'];
|
|
$this->myLogger->logme('error',('Update - ' . $employee['id'].' - '. $employee['emp_code'] .' - '.$employee['name']));
|
|
}
|
|
}else{
|
|
if ($dataToInsert[$a]['emp_code'] != 0) {
|
|
$result = $this->employeeModel->insert($dataToInsert[$a]);
|
|
$emp_id =$result;
|
|
if ($result) {
|
|
$emp = $this->employeeModel->where('id', $result)->get()->getResult();
|
|
|
|
$policy_name = $this->employeePolicyModel->where('employee_id', $result)->get()->getResult();;
|
|
|
|
|
|
$log_message = 'Insert Employee- '.$dataToInsert[$a]['name'] .'('.$dataToInsert[$a]['emp_code'] .') with PK ';
|
|
$this->myLogger->logme('error',('Insert - ' . $dataToInsert[$a]['emp_code'] .' - '. $dataToInsert[$a]['name']));
|
|
}
|
|
}
|
|
}
|
|
$emp_policy_data =[
|
|
'employee_id'=>$emp_id,
|
|
'client_policy_id'=>$policy_id,
|
|
'status'=> 'draft',
|
|
'basic_cover_si'=> $basic_cover_si[$a]
|
|
];
|
|
|
|
$employee_policy = $this->employeePolicyModel->checkExistingEmpPolicy(['employee_id' => $emp_id,'client_policy_id' => $policy_id]);
|
|
if ($employee_policy) {
|
|
foreach ($employee_policy as $existing_policy) {
|
|
$this->employeePolicyModel->update($existing_policy['id'], $emp_policy_data);
|
|
}
|
|
} else {
|
|
$emp_policy = $this->employeePolicyModel->insert($emp_policy_data);
|
|
}
|
|
|
|
|
|
//trigger
|
|
// print_r($dataToInsert[$a]['email_personal']);die;
|
|
$policy = $this->clientPolicyModel->where('id', $policy_id)->first();
|
|
$policy_name = $this->policesModel->where('id', $policy['policy_id'])->first();
|
|
$mail = $dataToInsert[$a]['email_corporate'];
|
|
$subject = 'Welcome, Employee Benefit Program Enrolment';
|
|
// $message = 'Dear ' . $dataToInsert[$a]['name'] . ",<br> We are glad to welcome you to the employee benefit program ," .$policy_name['name'] ."offered by your employer, <br><br><br> Click on the link below to review your personal and family details:<br><a href='https://venbait.in/nhance/app/dev'>Review Details</a>" ;
|
|
$data['employee_name']=$dataToInsert[$a]['name'];
|
|
$data['policy_name']=$policy_name['name'];
|
|
|
|
$message = view('mail_welcome', $data);
|
|
// if ($dataToInsert[$a]['email_corporate'] != null || $dataToInsert[$a]['email_corporate'] != '' && $dataToInsert[$a]['relationship'] == 'Self') {
|
|
// $job_details = new Jobs();
|
|
// $r = Jobs::addJob(['job_name' => 'send_email','payload' => ['mail' => $mail, 'subject' => $subject,'message'=> $message]]);
|
|
// }
|
|
|
|
// print_r($r);//die();
|
|
// $jobWorker = new JobWorker();
|
|
//JobWorker::processJob($r);
|
|
// $return_log = MailHelper::send_email($mail,$subject, $message);
|
|
// $return_log = json_decode($return_log);
|
|
// $this->myLogger->logme('info', "Email Status : {mail_status}, Sender Email:{email}", ['mail_status' => $return_log->status, 'email'=> $return_log->data]);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
} |