714 lines
22 KiB
PHP
714 lines
22 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\RESTful\ResourceController;
|
|
use App\Models\RoleMasterModel;
|
|
use App\Models\VehicleTypeMasterModel;
|
|
use App\Models\InsurancePlanTypeMasterModel;
|
|
|
|
|
|
class MasterController extends ResourceController
|
|
{
|
|
protected $format = 'json';
|
|
protected $myLogger;
|
|
protected $RoleMasterModel;
|
|
protected $VehicleTypeMasterModel;
|
|
protected $InsurancePlanTypeMasterModel;
|
|
|
|
|
|
public function __construct()
|
|
{
|
|
$this->myLogger = \Config\Services::mylogger();
|
|
$this->RoleMasterModel = new RoleMasterModel();
|
|
$this->VehicleTypeMasterModel = new VehicleTypeMasterModel();
|
|
$this->InsurancePlanTypeMasterModel = new InsurancePlanTypeMasterModel();
|
|
|
|
}
|
|
|
|
public function app_test()
|
|
{
|
|
|
|
return $this->respond(['status' => 200,'message' => 'success','data' => []]);
|
|
}
|
|
|
|
|
|
public function getRoleMaster()
|
|
{
|
|
$data = $this->RoleMasterModel->findAll();
|
|
|
|
if (!$data) {
|
|
return $this->failNotFound('No data found');
|
|
}
|
|
|
|
return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
}
|
|
|
|
public function getVehicleTypeMaster()
|
|
{
|
|
$data = $this->VehicleTypeMasterModel->findAll();
|
|
|
|
if (!$data) {
|
|
return $this->failNotFound('No data found');
|
|
}
|
|
|
|
return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
}
|
|
|
|
public function getInsurancePlanTypeMaster()
|
|
{
|
|
$data = $this->InsurancePlanTypeMasterModel->findAll();
|
|
|
|
if (!$data) {
|
|
return $this->failNotFound('No data found');
|
|
}
|
|
|
|
return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
}
|
|
|
|
|
|
// public function getTravelStatusMaster()
|
|
// {
|
|
// $data = $this->travelStatusModel->where('is_active',1)->findAll();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function getcountryMaster()
|
|
// {
|
|
// $data = $this->countryModel->where('is_active',1)->findAll();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function getAirlineMaster()
|
|
// {
|
|
// $data = $this->airlineModel->findAll();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
|
|
// public function getAirportCodeMaster()
|
|
// {
|
|
// $type = $this->request->getGet('trip_type');
|
|
|
|
// // Build the query
|
|
// $query = $this->airportCodeModel->where('is_active', 1);
|
|
// if ($type == 1) {
|
|
// $query->where('Country_Code', 'IN');
|
|
// }
|
|
|
|
// // Execute the query and get the result
|
|
// $data = $query->findAll();
|
|
|
|
// // Check if data exists
|
|
// if (empty($data)) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// // Return success response
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'success',
|
|
// 'data' => $data
|
|
// ]);
|
|
// }
|
|
|
|
// public function getTrainCodeMaster()
|
|
// {
|
|
// $data = $this->trainStationsModel->where('is_active',1)->findAll();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function getFlightAndTrainClass()
|
|
// {
|
|
|
|
|
|
// $trip_type = $this->request->getGet('trip_type');
|
|
// $user_id = $this->request->getVar('user_id');
|
|
|
|
// $user = $this->userModel->where('user_id', $user_id)->first();
|
|
|
|
// $groupData = $this->groupModel->find($user['group_id']);
|
|
|
|
// if($groupData)
|
|
// {
|
|
// if($trip_type == 1) { $policyId = $groupData['domestic_policy_id'];}else{ $policyId = $groupData['international_policy_id'];}
|
|
// dd($policyId);
|
|
// if($policyId != null)
|
|
// {
|
|
// $minFlightRow = $this->policyDetailsModel->where('policy_id', $policyId)->where('service_id', 1)->get()->getRow();
|
|
|
|
// $minTrainRow = $this->policyDetailsModel->where('policy_id', $policyId)->where('service_id', 2)->get()->getRow();
|
|
|
|
// $minHotelRow = $this->policyDetailsModel->where('policy_id', $policyId)->where('service_id', 5)->get()->getRow();
|
|
|
|
// $minFlightClassKey = $minFlightRow ? $minFlightRow->class : null;
|
|
// $minTrainClassKey = $minTrainRow ? $minTrainRow->class : null;
|
|
// $minHotelClassKey = $minHotelRow ? $minHotelRow->class : null;
|
|
|
|
// }
|
|
|
|
|
|
// //flight
|
|
// $allFlightClass = $this->dropdownModel->where('dropdown', 'flight_class')->orderBy('dropdown_key','ASC')->findAll();
|
|
// $minFlightClassKey = $minFlightClassKey ?? 0;
|
|
// $data['flight_class'] = [];
|
|
// foreach ($allFlightClass as $key => $value) {
|
|
|
|
// if((int)$value['dropdown_key'] >= (int)$minFlightClassKey){
|
|
// $value['is_allowed'] = 'yes';
|
|
// array_push($data['flight_class'] , $value);
|
|
// }else{
|
|
// $value['is_allowed'] = 'No';
|
|
// array_push($data['flight_class'] , $value);
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
// //train
|
|
// $allTrainClass = $this->dropdownModel->where('dropdown', 'train_class')->orderBy('dropdown_key','ASC')->findAll();
|
|
// $minTrainClassKey = $minTrainClassKey ?? 0;
|
|
// $data['train_class'] = [];
|
|
|
|
// foreach ($allTrainClass as $key => $value) {
|
|
|
|
// if((int)$value['dropdown_key'] >= (int)$minTrainClassKey){
|
|
// $value['is_allowed'] = 'yes';
|
|
// array_push($data['train_class'] , $value);
|
|
// }else{
|
|
// $value['is_allowed'] = 'No';
|
|
// array_push($data['train_class'] , $value);
|
|
// }
|
|
|
|
// }
|
|
|
|
// //hotel
|
|
// $allHotelClass = $this->dropdownModel->where('dropdown', 'hotel_class')->orderBy('dropdown_key','ASC')->findAll();
|
|
// $minHotelClassKey = $minHotelClassKey ?? 0;
|
|
// $data['hotel_class'] = [];
|
|
|
|
// foreach ($allHotelClass as $key => $value) {
|
|
|
|
// if((int)$value['dropdown_key'] >= (int)$minHotelClassKey){
|
|
// $value['is_allowed'] = 'yes';
|
|
// array_push($data['hotel_class'] , $value);
|
|
// }else{
|
|
// $value['is_allowed'] = 'No';
|
|
// array_push($data['hotel_class'] , $value);
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
|
|
// // Department crud
|
|
// public function getDepartmentList()
|
|
// {
|
|
// $for = $this->request->getVar('for');
|
|
|
|
// if (isset($for) && $for === 'table_view')
|
|
// {
|
|
// $data = $this->dropdownModel->where('dropdown','plan_functional_department')->findAll();
|
|
// } else {
|
|
// $data = $this->dropdownModel->where('dropdown','plan_functional_department')->where('is_active', 1)->findAll();
|
|
// }
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function createDepartment()
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// $data['dropdown'] = 'plan_functional_department';
|
|
// $data['is_active'] = 1;
|
|
// $existData = $this->dropdownModel->where('dropdown','plan_functional_department')->findAll();
|
|
// $data['dropdown_key'] = count($existData) + 1;
|
|
|
|
// if (!$this->dropdownModel->insert($data)) {
|
|
// return $this->failValidationErrors($this->dropdownModel->errors());
|
|
// }
|
|
|
|
// return $this->respondCreated([
|
|
// 'status' => 201,
|
|
// 'message' => 'Department created successfully'
|
|
// ]);
|
|
|
|
// }
|
|
|
|
// public function findDepartment()
|
|
// {
|
|
|
|
// $id = $this->request->getGet('id');
|
|
|
|
// $data = $this->dropdownModel->where('id',$id)->find();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function updateDepartment($id = null)
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->dropdownModel->find($id)) {
|
|
// return $this->failNotFound('Department not found');
|
|
// }
|
|
|
|
// if (!$this->dropdownModel->update($id, $data)) {
|
|
// return $this->failValidationErrors($this->dropdownModel->errors());
|
|
// }
|
|
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'Department updated successfully'
|
|
// ]);
|
|
// }
|
|
|
|
|
|
// // Purpose of travel crud
|
|
// public function getPurposeOfTravelList()
|
|
// {
|
|
// $for = $this->request->getVar('for');
|
|
|
|
// if (isset($for) && $for === 'table_view')
|
|
// {
|
|
// $data = $this->dropdownModel->where('dropdown','plan_purpose_of_travel')->findAll();
|
|
// } else {
|
|
// $data = $this->dropdownModel->where('dropdown','plan_purpose_of_travel')->where('is_active', 1)->findAll();
|
|
// }
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function createPurposeOfTravel()
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// $data['dropdown'] = 'plan_purpose_of_travel';
|
|
// $data['is_active'] = 1;
|
|
// $existData = $this->dropdownModel->where('dropdown','plan_purpose_of_travel')->findAll();
|
|
// $data['dropdown_key'] = count($existData) + 1;
|
|
|
|
// if (!$this->dropdownModel->insert($data)) {
|
|
// return $this->failValidationErrors($this->dropdownModel->errors());
|
|
// }
|
|
|
|
// return $this->respondCreated([
|
|
// 'status' => 201,
|
|
// 'message' => 'Department created successfully'
|
|
// ]);
|
|
|
|
// }
|
|
|
|
// public function findPurposeOfTravel()
|
|
// {
|
|
|
|
// $id = $this->request->getGet('id');
|
|
|
|
// $data = $this->dropdownModel->where('id',$id)->find();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function updatePurposeOfTravel($id = null)
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->dropdownModel->find($id)) {
|
|
// return $this->failNotFound('Department not found');
|
|
// }
|
|
|
|
// if (!$this->dropdownModel->update($id, $data)) {
|
|
// return $this->failValidationErrors($this->dropdownModel->errors());
|
|
// }
|
|
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'Department updated successfully'
|
|
// ]);
|
|
// }
|
|
|
|
// // Cost center crud
|
|
// public function getCostCenterMaster()
|
|
// {
|
|
// $for = $this->request->getVar('for');
|
|
|
|
// if (isset($for) && $for === 'table_view')
|
|
// {
|
|
// $data = $this->costCenterModel->findAll();
|
|
// } else {
|
|
// $data = $this->costCenterModel->where('is_active', 1)->findAll();
|
|
// }
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function createCostCenter()
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->costCenterModel->insert($data)) {
|
|
// return $this->failValidationErrors($this->costCenterModel->errors());
|
|
// }
|
|
|
|
// return $this->respondCreated([
|
|
// 'status' => 201,
|
|
// 'message' => 'Cost Center created successfully'
|
|
// ]);
|
|
|
|
// }
|
|
|
|
// public function findCostCenter()
|
|
// {
|
|
|
|
// $id = $this->request->getGet('cost_center_id');
|
|
|
|
// $data = $this->costCenterModel->where('cost_center_id',$id)->find();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function updateCostCenter($id = null)
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->costCenterModel->find($id)) {
|
|
// return $this->failNotFound('Cost Center not found');
|
|
// }
|
|
|
|
// if (!$this->costCenterModel->update($id, $data)) {
|
|
// return $this->failValidationErrors($this->costCenterModel->errors());
|
|
// }
|
|
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'Cost Center updated successfully'
|
|
// ]);
|
|
// }
|
|
|
|
|
|
// // Forex crud
|
|
// public function getForexPerdiemList()
|
|
// {
|
|
|
|
// $for = $this->request->getVar('for');
|
|
|
|
// if (isset($for) && $for === 'table_view')
|
|
// {
|
|
// $data = $this->forexPerdiemModel->findAll();
|
|
// } else {
|
|
// $data = $this->forexPerdiemModel->where('is_active', 1)->findAll();
|
|
// }
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function createForexPerdiem()
|
|
// {
|
|
|
|
|
|
// try {
|
|
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->forexPerdiemModel->insert($data)) {
|
|
// return $this->failValidationErrors($this->forexPerdiemModel->errors());
|
|
// }
|
|
|
|
// return $this->respondCreated([
|
|
// 'status' => 201,
|
|
// 'message' => 'Forex Perdiem created successfully'
|
|
// ]);
|
|
// } catch (\CodeIgniter\Database\Exceptions\DatabaseException $e) {
|
|
|
|
// if (strpos($e->getMessage(), 'Duplicate entry') !== false) {
|
|
// return $this->respond([
|
|
// 'status' => 404,
|
|
// 'message' => 'Duplicate entry'
|
|
// ],404);
|
|
// }
|
|
|
|
// // For other DB-related exceptions
|
|
// return $this->failServerError($e->getMessage());
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
// public function findForexPerdiem()
|
|
// {
|
|
|
|
// $id = $this->request->getGet('forex_perdiem_id');
|
|
|
|
// $data = $this->forexPerdiemModel->where('forex_perdiem_id',$id)->find();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function updateForexPerdiem($id = null)
|
|
// {
|
|
// try{
|
|
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->forexPerdiemModel->find($id)) {
|
|
// return $this->failNotFound('Forex Perdiem not found');
|
|
// }
|
|
|
|
|
|
// if (!$this->forexPerdiemModel->update($id, $data)) {
|
|
// return $this->failValidationErrors($this->forexPerdiemModel->errors());
|
|
// }
|
|
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'Forex Perdiem updated successfully'
|
|
// ]);
|
|
|
|
// } catch (\CodeIgniter\Database\Exceptions\DatabaseException $e) {
|
|
|
|
// if (strpos($e->getMessage(), 'Duplicate entry') !== false) {
|
|
// return $this->respond([
|
|
// 'status' => 404,
|
|
// 'message' => 'Duplicate entry'
|
|
// ]);
|
|
// }
|
|
|
|
// // For other DB-related exceptions
|
|
// return $this->failServerError($e->getMessage());
|
|
// }
|
|
// }
|
|
|
|
// // Hotels crud
|
|
// public function getHotels()
|
|
// {
|
|
|
|
// $for = $this->request->getVar('for');
|
|
|
|
// if (isset($for) && $for === 'table_view')
|
|
// {
|
|
// $hotels = $this->hotelModel->select('m_hotels.* , C.country_name')
|
|
// ->join('m_country C', 'C.country_code = m_hotels.country_code', 'left')
|
|
// ->findAll();
|
|
// } else {
|
|
// $hotels = $this->hotelModel->select('m_hotels.* , C.country_name')
|
|
// ->join('m_country C', 'C.country_code = m_hotels.country_code', 'left')
|
|
// ->where('m_hotels.is_active', 1)
|
|
// ->findAll();
|
|
// }
|
|
|
|
|
|
// return $this->response->setJSON([
|
|
// 'status' => 200,
|
|
// 'message' => 'Hotel list fetched successfully',
|
|
// 'data' => $hotels
|
|
// ]);
|
|
// }
|
|
|
|
// public function createHotels()
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->hotelModel->insert($data)) {
|
|
// return $this->failValidationErrors($this->hotelModel->errors());
|
|
// }
|
|
|
|
// return $this->respondCreated([
|
|
// 'status' => 201,
|
|
// 'message' => 'Hotels created successfully'
|
|
// ]);
|
|
|
|
// }
|
|
|
|
// public function findHotels()
|
|
// {
|
|
|
|
// $id = $this->request->getGet('hotel_id');
|
|
|
|
// $data = $this->hotelModel->where('hotel_id',$id)->find();
|
|
|
|
// if (!$data) {
|
|
// return $this->failNotFound('No data found');
|
|
// }
|
|
|
|
// return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
|
|
// }
|
|
|
|
// public function updateHotels($id = null)
|
|
// {
|
|
// $data = $this->request->getJSON(true);
|
|
|
|
// if (!$this->hotelModel->find($id)) {
|
|
// return $this->failNotFound('Hotels not found');
|
|
// }
|
|
|
|
// if (!$this->hotelModel->update($id, $data)) {
|
|
// return $this->failValidationErrors($this->hotelModel->errors());
|
|
// }
|
|
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'Hotels updated successfully'
|
|
// ]);
|
|
// }
|
|
|
|
|
|
// public function forex_signature_upload()
|
|
// {
|
|
|
|
// $data = $this->request->getPost();
|
|
|
|
// // Handle file upload
|
|
// $file = $this->request->getFile('signature');
|
|
// if ($file && $file->isValid() && !$file->hasMoved()) {
|
|
// $newName = $file->getRandomName(); // Generate a unique name
|
|
// // $uploadPath = WRITEPATH.'uploads/signature';
|
|
// $uploadPath = FCPATH.'public/assets/images/signature';
|
|
|
|
// // print_r( $uploadPath); die;
|
|
|
|
// // Move file to the specified directory
|
|
// $file->move($uploadPath, $newName);
|
|
|
|
// // Save file path in database
|
|
// $path = $uploadPath . '/' . $newName;
|
|
// } else {
|
|
// return $this->failValidationErrors(['passport_document' => 'Invalid file upload']);
|
|
// }
|
|
|
|
// try {
|
|
|
|
// $this->mailTemplateModel->set(['image_location' => $newName])->where('template_name','forex')->update();
|
|
|
|
|
|
// return $this->respondCreated([
|
|
// 'status' => 201,
|
|
// 'message' => 'organization created successfully',
|
|
// 'data' => $data
|
|
// ]);
|
|
// } catch (\Exception $e) {
|
|
// return $this->failServerError('Failed to create organization: ' . $e->getMessage());
|
|
// }
|
|
// }
|
|
|
|
// // public function getForexSignaturePath()
|
|
// // {
|
|
|
|
// // $data = $this->mailTemplateModel->where('template_name','forex')->first();
|
|
|
|
// // return $this->respond([
|
|
// // 'status' => 200,
|
|
// // 'message' => 'success',
|
|
// // 'data' => $data
|
|
|
|
// // ]);
|
|
|
|
// // }
|
|
|
|
// public function getForexSignaturePath()
|
|
// {
|
|
// $data = $this->mailTemplateModel->where('template_name', 'forex')->first();
|
|
|
|
// if (!$data || empty($data['image_location'])) {
|
|
// return $this->respond([
|
|
// 'status' => 404,
|
|
// 'message' => 'Image not found',
|
|
// 'url' => null
|
|
// ]);
|
|
// }
|
|
|
|
// // If the DB stores only the filename, adjust accordingly
|
|
// $fileName = basename($data['image_location']);
|
|
|
|
|
|
// $imageUrl = base_url('public/assets/images/signature/' . $fileName);
|
|
|
|
// // Add both the URL and ready-made HTML tag
|
|
// $data['image_url'] = $imageUrl;
|
|
// $data['image_tag'] = '<img src="' . $imageUrl . '" alt="Signature" style="max-width:200px;">';
|
|
|
|
// return $this->respond([
|
|
// 'status' => 200,
|
|
// 'message' => 'success',
|
|
// 'url' => $imageUrl
|
|
// ]);
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|