179 lines
5.8 KiB
PHP
179 lines
5.8 KiB
PHP
<?php
|
|
use App\Models\EmployeeModel;
|
|
use App\Models\InsurerModel;
|
|
use App\Models\TPAModel;
|
|
use Kint\Kint;
|
|
|
|
if (!function_exists('check_client')) {
|
|
function check_client($params)
|
|
{
|
|
$client_data = $params['client_data'] ?? [];
|
|
$client_name = $params['client_name'] ?? "";
|
|
// Kint::dump($client_name);
|
|
|
|
if (!empty($client_data)) {
|
|
foreach ($client_data as $key => $value) {
|
|
// Kint::dump($value['client_name'], $client_name);
|
|
if(trim($value['client_name']) === trim($client_name)){
|
|
return array('status' => true, 'client_id' => $value['id'], 'error' => '');
|
|
}
|
|
}
|
|
}
|
|
|
|
return array('status' => false, 'error' => 'This Client Name does not exist in the system');
|
|
}
|
|
}
|
|
|
|
if (!function_exists('check_insurer')) {
|
|
function check_insurer($params)
|
|
{
|
|
$insurer_data = $params['insurer_data'] ?? [];
|
|
$insurer_name = $params['insurer_name'] ?? "";
|
|
if (!empty($insurer_data)) {
|
|
foreach ($insurer_data as $key => $value) {
|
|
if(trim($value['short_name']) === trim($insurer_name)){
|
|
return array('status' => true, 'insuer_id' => $value['id'], 'error' => '');
|
|
}
|
|
}
|
|
}
|
|
|
|
return array('status' => false, 'error' => 'This Insurer does not exist in the system');
|
|
|
|
}
|
|
}
|
|
|
|
if (!function_exists('check_tpa')) {
|
|
function check_tpa($params)
|
|
{
|
|
$tpa_data = $params['tpa_data'] ?? [];
|
|
$tpa_name = $params['tpa_name'] ?? "";
|
|
if (!empty($tpa_data)) {
|
|
foreach ($tpa_data as $key => $value) {
|
|
if(trim($value['short_name']) === trim($tpa_name)){
|
|
return array('status' => true, 'tpa_id' => $value['id'], 'error' => '');
|
|
}
|
|
}
|
|
}
|
|
|
|
return array('status' => false, 'error' => 'This TPA does not exist in the system');
|
|
}
|
|
}
|
|
|
|
if (!function_exists('check_status')) {
|
|
function check_status($params)
|
|
{
|
|
$data = $params['data'] ?? [];
|
|
$check_value = $params['value'] ?? "";
|
|
if (!empty($data)) {
|
|
foreach ($data as $key => $value) {
|
|
// Kint::dump(strtolower(trim($value['claim_status'])), strtolower(trim($check_value)));
|
|
if(strtolower(trim($value['claim_status'])) === strtolower(trim($check_value))){
|
|
return array('status' => true, 'status_id' => $value['id'], 'error' => '');
|
|
}
|
|
}
|
|
}
|
|
|
|
return array('status' => false, 'error' => "This Status ('{$check_value}') does not exist in the system");
|
|
}
|
|
}
|
|
|
|
if (!function_exists('check_policy')) {
|
|
function check_policy($params)
|
|
{
|
|
$data = $params['data'] ?? [];
|
|
$client_id = $params['client_id'] ?? "";
|
|
$check_value = $params['value'] ?? "";
|
|
if (!empty($data)) {
|
|
foreach ($data as $key => $value) {
|
|
if($value['client_id'] === $client_id && trim($value['policy_no']) === trim($check_value)){
|
|
return array('status' => true, 'status_id' => $value['id'], 'error' => '');
|
|
}
|
|
}
|
|
}
|
|
|
|
return array('status' => false, 'error' => "This Policy Number does not exist in the Client");
|
|
}
|
|
}
|
|
|
|
if (!function_exists('check_emp_and_insured')) {
|
|
function check_emp_and_insured($params)
|
|
{
|
|
|
|
$employee_modal = new EmployeeModel();
|
|
$tpa_data = $employee_modal
|
|
->join('employee_polices', 'employees.id = employee_polices.employee_id')
|
|
->where('employees.client', $params['client_id'])
|
|
->where('employees.name', $params['emp_name'])
|
|
->where('employees.emp_code', $params['emp_code'])
|
|
->where('employees.is_active', 1)
|
|
->where('employees.emp_status !=', "truncated")
|
|
->where('employee_polices.is_active', 1)
|
|
->where('employees.status !=', "truncated")
|
|
->first();
|
|
|
|
if (empty($tpa_data)) {
|
|
return false;
|
|
}
|
|
|
|
return $tpa_data['id'];
|
|
}
|
|
}
|
|
|
|
if (!function_exists('dynamic_check_excel_date_format')) {
|
|
|
|
function dynamic_check_excel_date_format($dateString, $format = 'd/m/Y')
|
|
{
|
|
|
|
if ($dateString == "") {
|
|
return array('status' => true);
|
|
}
|
|
$date = DateTime::createFromFormat($format, $dateString);
|
|
|
|
if ($date && $date->format($format) == $dateString) {
|
|
return array('status' => true);
|
|
} else {
|
|
|
|
$res = validate_date_flexible($dateString, $format);
|
|
if (!$res) {
|
|
return array('status' => false, 'error' => "wrong date format: Expected {$format}({$res}) and received $dateString");
|
|
} else {
|
|
return array('status' => true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!function_exists('validate_date_flexible')) {
|
|
function validate_date_flexible($date, $format = 'm/d/Y')
|
|
{
|
|
// Create a DateTime from the given format
|
|
$d = DateTime::createFromFormat($format, $date);
|
|
if (!$d) return false;
|
|
|
|
// Compare normalized values (remove leading zeros)
|
|
$original = preg_replace('/\b0+/', '', $date);
|
|
$normalized = preg_replace('/\b0+/', '', $d->format($format));
|
|
|
|
return $original === $normalized;
|
|
}
|
|
}
|
|
|
|
if (!function_exists('normalizeDate')) {
|
|
function normalizeDate($dateString, $formats = ['d-m-Y', 'd/m/Y', 'm-d-Y', 'm/d/Y', 'Y-m-d'])
|
|
{
|
|
if (empty($dateString)) {
|
|
return null; // keep null if no value
|
|
}
|
|
|
|
foreach ($formats as $format) {
|
|
$dt = DateTime::createFromFormat($format, trim($dateString));
|
|
if ($dt && $dt->format($format) === trim($dateString)) {
|
|
return $dt->format('Y-m-d'); // ✅ return in DB format
|
|
}
|
|
}
|
|
|
|
return null; // if no valid format found
|
|
}
|
|
}
|
|
|
|
?>
|