Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
f9472de563
@ -79,6 +79,7 @@ class ApiServiceController extends BaseController
|
|||||||
$client_policy_id = $params['client_policy_id'] ?? null;
|
$client_policy_id = $params['client_policy_id'] ?? null;
|
||||||
$policy_no = $params['policy_no'] ?? null;
|
$policy_no = $params['policy_no'] ?? null;
|
||||||
$type = $params['type'] ?? 'download';
|
$type = $params['type'] ?? 'download';
|
||||||
|
$all_member = $params['all_member'] ?? null;
|
||||||
|
|
||||||
log_message('error', 'Received Payload INTERNAL : '. json_encode($params ?? ""));
|
log_message('error', 'Received Payload INTERNAL : '. json_encode($params ?? ""));
|
||||||
|
|
||||||
@ -107,10 +108,16 @@ class ApiServiceController extends BaseController
|
|||||||
// direct download
|
// direct download
|
||||||
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/1';
|
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/1';
|
||||||
}else{
|
}else{
|
||||||
// view and download
|
if(isset($all_member) && !empty($all_member)){
|
||||||
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/0/1';
|
// view and download all members
|
||||||
|
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/1/1';
|
||||||
|
}else{
|
||||||
|
// view and download single member
|
||||||
|
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/0/1';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['message'] = "E-card generated";
|
$data['message'] = "E-card generated";
|
||||||
if(empty($data['eCardDownload'])){
|
if(empty($data['eCardDownload'])){
|
||||||
$data['message'] = "E-card not generated";
|
$data['message'] = "E-card not generated";
|
||||||
|
|||||||
@ -4968,6 +4968,10 @@ class EmpDataServiceController extends BaseController
|
|||||||
'client_policy_id' => $emp_details['client_policy_id'],
|
'client_policy_id' => $emp_details['client_policy_id'],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if(empty($single_mail)){
|
||||||
|
$params['all_member'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
$params['common'] = [
|
$params['common'] = [
|
||||||
'client_id' => $emp_details['client_id'],
|
'client_id' => $emp_details['client_id'],
|
||||||
'client_branch_id' => $emp_details['client_branch_id'],
|
'client_branch_id' => $emp_details['client_branch_id'],
|
||||||
|
|||||||
@ -754,7 +754,7 @@ class EmployeeRestController extends AdminController
|
|||||||
$result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]);
|
$result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]);
|
||||||
if (isset($result['error_summary']) && count($result['error_summary'])) {
|
if (isset($result['error_summary']) && count($result['error_summary'])) {
|
||||||
$result = $empServiceController->getExcelErrorData($file_id);
|
$result = $empServiceController->getExcelErrorData($file_id);
|
||||||
return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "file upload failed with errors", 'data' => $result], 200);
|
return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "The data format is invalid. Click 'Next' to view details.", 'data' => $result], 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2573,95 +2573,117 @@ class EmployeeRestController extends AdminController
|
|||||||
|
|
||||||
public function claimView()
|
public function claimView()
|
||||||
{
|
{
|
||||||
$ticket_id = $this->request->getGet('ticket_id');
|
try {
|
||||||
$ticketController = new TicketController;
|
|
||||||
$data['ticket_history'] = $ticketController->ticketHistory($ticket_id);
|
|
||||||
$data['claims_data'] = $this->ticketMaster->getTicketDataByTicketID($ticket_id);
|
|
||||||
$data['ticket_data'] = $ticketController->getMoreInfo($requestFrom = 'rest', $ticket_id);
|
|
||||||
|
|
||||||
// $ticketData = $data['ticket_data'];
|
$ticket_id = $this->request->getGet('ticket_id');
|
||||||
// $ticketHistory = $data['ticket_history'];
|
$ticketController = new TicketController;
|
||||||
|
$data['ticket_history'] = $ticketController->ticketHistory($ticket_id);
|
||||||
|
$data['claims_data'] = $this->ticketMaster->getTicketDataByTicketID($ticket_id);
|
||||||
|
$data['ticket_data'] = $ticketController->getMoreInfo($requestFrom = 'rest', $ticket_id);
|
||||||
|
|
||||||
$ticketClaimStatus = $this->claimStatusModel->select('claim_status, display_name')->where('display_name is not null')->where('is_active', 1)->findAll();
|
// $ticketData = $data['ticket_data'];
|
||||||
$status_list = array_column($ticketClaimStatus, 'display_name', 'claim_status');
|
// $ticketHistory = $data['ticket_history'];
|
||||||
|
// print_r($ticketHistory); die;
|
||||||
|
|
||||||
$data['ticket_data'] = array_fill_keys(array_keys($data['ticket_data']), []);
|
$currentClaimStatus = $this->claimStatusModel->select("claim_status")->where('id', $data['claims_data']['claim_status_id'])->where('is_active', 1)->first();
|
||||||
|
$ticketClaimStatus = $this->claimStatusModel->select('claim_status, display_name')->where('display_name is not null')->where('is_active', 1)->findAll();
|
||||||
|
$status_list = array_column($ticketClaimStatus, 'display_name', 'claim_status');
|
||||||
|
// print_r($currentClaimStatus); die;
|
||||||
|
|
||||||
|
$data['ticket_data'] = array_fill_keys(array_keys($data['ticket_data']), []);
|
||||||
|
|
||||||
// Loop through ticket_data
|
// Loop through ticket_data
|
||||||
foreach ($data['ticket_data'] as $status => &$fields) {
|
foreach ($data['ticket_data'] as $status => &$fields) {
|
||||||
// Search ticket_history for matching old_status_value
|
// Search ticket_history for matching old_status_value
|
||||||
foreach ($data['ticket_history'] as $history) {
|
foreach ($data['ticket_history'] as $history) {
|
||||||
|
|
||||||
if ($history['old_status_value'] === $status) {
|
if ($history['old_status_value'] === $status) {
|
||||||
// Attach modified_by and created_at
|
// Attach modified_by and created_at
|
||||||
// $fields['modified_by'] = $history['modified_by'];
|
// $fields['modified_by'] = $history['modified_by'];
|
||||||
$fields['modified_by'] = "";
|
$fields['modified_by'] = "";
|
||||||
$fields['modified_at'] = date('d-m-Y h:i A', strtotime($history['created_at']));
|
$fields['modified_at'] = date('d-m-Y h:i A', strtotime($history['created_at']));
|
||||||
// Break after first match (assuming latest entry is enough)
|
// Break after first match (assuming latest entry is enough)
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$new_ticket_data = [];
|
$data['ticket_data'][$currentClaimStatus['claim_status']]['modified_by'] = "";
|
||||||
|
$data['ticket_data'][$currentClaimStatus['claim_status']]['modified_at'] = $formatted = date('d-m-Y h:i A', strtotime($data['claims_data']['updated_at']));
|
||||||
|
|
||||||
foreach ($data['ticket_data'] as $oldKey => $value) {
|
$new_ticket_data = [];
|
||||||
|
|
||||||
// Only process if key exists in status_list
|
foreach ($data['ticket_data'] as $oldKey => $value) {
|
||||||
if (!isset($status_list[$oldKey])) {
|
|
||||||
continue; // skip and do NOT add to new array
|
// Only process if key exists in status_list
|
||||||
|
if (!isset($status_list[$oldKey])) {
|
||||||
|
continue; // skip and do NOT add to new array
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get new key based on mapping
|
||||||
|
$newKey = $status_list[$oldKey];
|
||||||
|
|
||||||
|
// Avoid duplicates
|
||||||
|
if (!isset($new_ticket_data[$newKey])) {
|
||||||
|
$new_ticket_data[$newKey] = $value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get new key based on mapping
|
uasort($new_ticket_data, function ($a, $b) {
|
||||||
$newKey = $status_list[$oldKey];
|
$timeA = \DateTime::createFromFormat('d-m-Y h:i A', $a['modified_at']);
|
||||||
|
$timeB = \DateTime::createFromFormat('d-m-Y h:i A', $b['modified_at']);
|
||||||
|
return $timeA <=> $timeB; // Ascending
|
||||||
|
});
|
||||||
|
|
||||||
// Avoid duplicates
|
$data['ticket_data'] = $new_ticket_data;
|
||||||
if (!isset($new_ticket_data[$newKey])) {
|
|
||||||
$new_ticket_data[$newKey] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uasort($new_ticket_data, function ($a, $b) {
|
|
||||||
$timeA = \DateTime::createFromFormat('d-m-Y h:i A', $a['modified_at']);
|
|
||||||
$timeB = \DateTime::createFromFormat('d-m-Y h:i A', $b['modified_at']);
|
|
||||||
return $timeA <=> $timeB; // Ascending
|
|
||||||
});
|
|
||||||
|
|
||||||
$data['ticket_data'] = $new_ticket_data;
|
|
||||||
|
|
||||||
|
|
||||||
$ticketMesssageModel = new TicketMessageModel();
|
$ticketMesssageModel = new TicketMessageModel();
|
||||||
$ticket_message = $ticketMesssageModel
|
$ticket_message = $ticketMesssageModel
|
||||||
->where('is_active', 1)
|
|
||||||
->where('sender', "user")
|
|
||||||
->where('ticket_id', $ticket_id)
|
|
||||||
->orderBy('id', "desc")
|
|
||||||
->first();
|
|
||||||
|
|
||||||
$claim_file_urls = [];
|
|
||||||
|
|
||||||
if (isset($ticket_message['id'])) {
|
|
||||||
|
|
||||||
$claimFiles = new ClaimFilesModel();
|
|
||||||
$claim_files_data = $claimFiles
|
|
||||||
->select('id as claim_file_id, doc_name as claim_file_name')
|
|
||||||
->where('is_active', 1)
|
->where('is_active', 1)
|
||||||
->where('file_type', 2)
|
->where('sender', "user")
|
||||||
->where('ticket_id', $ticket_id)
|
->where('ticket_id', $ticket_id)
|
||||||
->where('ticket_message_id', $ticket_message['id'])
|
->orderBy('id', "desc")
|
||||||
->findAll();
|
->first();
|
||||||
|
|
||||||
foreach ($claim_files_data as &$value) {
|
$claim_file_urls = [];
|
||||||
$value['url'] = base_url('downloadClaimFile/') . $value['claim_file_id'];
|
|
||||||
$claim_file_urls[] = $value;
|
if (isset($ticket_message['id'])) {
|
||||||
|
|
||||||
|
$claimFiles = new ClaimFilesModel();
|
||||||
|
$claim_files_data = $claimFiles
|
||||||
|
->select('id as claim_file_id, doc_name as claim_file_name')
|
||||||
|
->where('is_active', 1)
|
||||||
|
->where('file_type', 2)
|
||||||
|
->where('ticket_id', $ticket_id)
|
||||||
|
->where('ticket_message_id', $ticket_message['id'])
|
||||||
|
->findAll();
|
||||||
|
|
||||||
|
foreach ($claim_files_data as &$value) {
|
||||||
|
$value['url'] = base_url('downloadClaimFile/') . $value['claim_file_id'];
|
||||||
|
$claim_file_urls[] = $value;
|
||||||
|
}
|
||||||
|
unset($value);
|
||||||
}
|
}
|
||||||
unset($value);
|
|
||||||
|
$data['claim_files'] = $claim_file_urls;
|
||||||
|
|
||||||
|
return $this->respond(['status' => (count($data) ? 'success' : 'failed'), 'code' => (count($data) ? 200 : 404), 'data' => $data,], 200);
|
||||||
|
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
$this->myLogger->logme("error", 'claim_view' .($th->getMessage() . ' --- ' . $th->getLine() . '----' . $th->getTraceAsString()));
|
||||||
|
$errorData = [
|
||||||
|
'message' => $th->getMessage(),
|
||||||
|
'file' => $th->getFile(),
|
||||||
|
'line' => $th->getLine(),
|
||||||
|
'code' => $th->getCode(),
|
||||||
|
'trace' => $th->getTraceAsString(),
|
||||||
|
'trace_array' => $th->getTrace(), // full array version (optional)
|
||||||
|
'function' => $th->getTrace()[0]['function'] ?? null,
|
||||||
|
'class' => $th->getTrace()[0]['class'] ?? null,
|
||||||
|
];
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => "", 'error_data' => $errorData], 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['claim_files'] = $claim_file_urls;
|
|
||||||
|
|
||||||
return $this->respond(['status' => (count($data) ? 'success' : 'failed'), 'code' => (count($data) ? 200 : 404), 'data' => $data,], 200);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -331,6 +331,7 @@ class MediAssistApiController extends BaseController
|
|||||||
$db = \Config\Database::connect();
|
$db = \Config\Database::connect();
|
||||||
$updated = 0;
|
$updated = 0;
|
||||||
|
|
||||||
|
$employee_policy_ids = [];
|
||||||
foreach ($employeePolicyData as $policy_data) {
|
foreach ($employeePolicyData as $policy_data) {
|
||||||
foreach ($allBenef as $row) {
|
foreach ($allBenef as $row) {
|
||||||
|
|
||||||
@ -370,6 +371,10 @@ class MediAssistApiController extends BaseController
|
|||||||
WHERE id = ?";
|
WHERE id = ?";
|
||||||
$db->query($sql, [$row['benefMediAssistID'], $policy_data['emp_policy_id']]);
|
$db->query($sql, [$row['benefMediAssistID'], $policy_data['emp_policy_id']]);
|
||||||
|
|
||||||
|
// for e-card send
|
||||||
|
if(strtolower(trim($policy_data['relationship'])) == 'self'){
|
||||||
|
$employee_policy_ids[] = $policy_data['emp_policy_id'];
|
||||||
|
}
|
||||||
|
|
||||||
if ($db->affectedRows() > 0) {
|
if ($db->affectedRows() > 0) {
|
||||||
$updated++;
|
$updated++;
|
||||||
@ -384,6 +389,12 @@ class MediAssistApiController extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// send e-card
|
||||||
|
if(!empty($employee_policy_ids)){
|
||||||
|
log_message('error', "sendMailForDownloadingECard JOB PUSHED.");
|
||||||
|
Jobs::addJob(['job_name' => 'sendMailForDownloadingECard', 'payload' => $employee_policy_ids]);
|
||||||
|
}
|
||||||
|
|
||||||
// update file table status after the tpa id successfully updated
|
// update file table status after the tpa id successfully updated
|
||||||
if (isset($requestData['file_id']) && !empty($requestData['file_id'])) {
|
if (isset($requestData['file_id']) && !empty($requestData['file_id'])) {
|
||||||
$file_model = new BatchFileModel();
|
$file_model = new BatchFileModel();
|
||||||
|
|||||||
@ -241,11 +241,6 @@
|
|||||||
<input id="policy_end_date" type="text" class="form-control" placeholder="DD/MM/YYYY" readonly>
|
<input id="policy_end_date" type="text" class="form-control" placeholder="DD/MM/YYYY" readonly>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-3">
|
|
||||||
<label for="addon_policy">Policy Issue Month<span id="base_danger" class="text-danger">*</span></label>
|
|
||||||
<input type="text" class="form-control" id="month" name="month" placeholder="MM/YYYY" required>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group col-md-3">
|
<div class="form-group col-md-3">
|
||||||
<label for="addon_policy"> Endorsement Type <span id="base_danger" class="text-danger">*</span></label>
|
<label for="addon_policy"> Endorsement Type <span id="base_danger" class="text-danger">*</span></label>
|
||||||
<select class="form-control" id="action_type" name="action_type" required>
|
<select class="form-control" id="action_type" name="action_type" required>
|
||||||
@ -275,6 +270,11 @@
|
|||||||
<input type="text" class="form-control" id="policy_issue_date" name="policy_issue_date" placeholder="DD/MM/YYYY" required>
|
<input type="text" class="form-control" id="policy_issue_date" name="policy_issue_date" placeholder="DD/MM/YYYY" required>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-3">
|
||||||
|
<label for="month">Policy Issue Month<span id="base_danger" class="text-danger">*</span></label>
|
||||||
|
<input type="text" class="form-control readonly-select" id="month" name="month" placeholder="MM/YYYY" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-3">
|
<div class="form-group col-md-3">
|
||||||
<label for="endorse_eff_date">Endorsement Effective Date<span id="base_danger" class="text-danger"></span></label>
|
<label for="endorse_eff_date">Endorsement Effective Date<span id="base_danger" class="text-danger"></span></label>
|
||||||
<input type="text" class="form-control" id="endorse_eff_date" name="endorse_eff_date" placeholder="DD/MM/YYYY" >
|
<input type="text" class="form-control" id="endorse_eff_date" name="endorse_eff_date" placeholder="DD/MM/YYYY" >
|
||||||
|
|||||||
@ -287,7 +287,6 @@ table.dataTable thead th {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -568,10 +567,24 @@ table.dataTable thead th {
|
|||||||
maxDate: today // Disallow future dates
|
maxDate: today // Disallow future dates
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var month = flatpickr("#month", {
|
||||||
|
dateFormat: "M/Y", // Format as month and year
|
||||||
|
allowInput: false, // Disable manual input
|
||||||
|
});
|
||||||
|
|
||||||
var closure_date = flatpickr("#policy_issue_date", {
|
var policy_issue_date = flatpickr("#policy_issue_date", {
|
||||||
dateFormat: "d/m/Y",
|
dateFormat: "d/m/Y", // Format as day-month-year
|
||||||
allowInput: false
|
allowInput: false, // Disable manual input
|
||||||
|
onChange: function(selectedDates, dateStr, instance) {
|
||||||
|
// Get the selected date
|
||||||
|
var selectedDate = new Date(selectedDates[0]);
|
||||||
|
|
||||||
|
// Format the selected date to "M-Y"
|
||||||
|
var formattedMonth = flatpickr.formatDate(selectedDate, "M/Y");
|
||||||
|
|
||||||
|
// Set the value of the #month input
|
||||||
|
month.setDate(formattedMonth);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var install_due_date = flatpickr("#install_due_date", {
|
var install_due_date = flatpickr("#install_due_date", {
|
||||||
@ -579,26 +592,11 @@ table.dataTable thead th {
|
|||||||
allowInput: false
|
allowInput: false
|
||||||
});
|
});
|
||||||
|
|
||||||
// var start_date = flatpickr("#policy_start_date", {
|
|
||||||
// dateFormat: "d/m/Y",
|
|
||||||
// allowInput: false
|
|
||||||
// });
|
|
||||||
|
|
||||||
// var end_date = flatpickr("#policy_end_date", {
|
|
||||||
// dateFormat: "d/m/Y",
|
|
||||||
// allowInput: false
|
|
||||||
// });
|
|
||||||
|
|
||||||
var endorse_eff_date = flatpickr("#endorse_eff_date", {
|
var endorse_eff_date = flatpickr("#endorse_eff_date", {
|
||||||
dateFormat: "d/m/Y",
|
dateFormat: "d/m/Y",
|
||||||
allowInput: false
|
allowInput: false
|
||||||
});
|
});
|
||||||
|
|
||||||
var month = flatpickr("#month", {
|
|
||||||
dateFormat: "M/Y",
|
|
||||||
allowInput: false,
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function hide_list_show_add() {
|
function hide_list_show_add() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user