FIX_Sales Executive
This commit is contained in:
parent
9c5591090d
commit
5e5a1ff4b5
@ -141,11 +141,17 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) {
|
|||||||
$routes->post('invoice/commission-rate-list', 'InvoiceController::getCommissionRateList');
|
$routes->post('invoice/commission-rate-list', 'InvoiceController::getCommissionRateList');
|
||||||
|
|
||||||
|
|
||||||
|
$routes->get('salesExecutive/executiveList', 'SalesExecutive::salesExecutiveList');
|
||||||
|
$routes->get('salesExecutive/findExecutive', 'SalesExecutive::findSalesExecutive');
|
||||||
|
$routes->post('salesExecutive/createExecutive', 'SalesExecutive::createSalesExecutive');
|
||||||
|
$routes->post('salesExecutive/updateExecutive', 'SalesExecutive::updateSalesExecutive');
|
||||||
|
$routes->post('salesExecutive/changeExecutiveStatus', 'SalesExecutive::changeSalesExecutiveStatus');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$routes->cli('cli/processjob', 'JobWorker::processJob');
|
$routes->cli('cli/processjob', 'JobWorker::processJob');
|
||||||
$routes->cli('cli/processjobs', 'JobWorker::processJobs');
|
$routes->cli('cli/processjobs', 'JobWorker::processJobs');
|
||||||
$routes->get("processjob", "JobWorker::processJob");
|
$routes->get("processjob", "JobWorker::processJob");
|
||||||
|
|||||||
@ -98,6 +98,7 @@ class AgentController extends ResourceController
|
|||||||
'agent_code' => $data['agent_code'],
|
'agent_code' => $data['agent_code'],
|
||||||
'address' => $data['address'],
|
'address' => $data['address'],
|
||||||
'manager_id' => $data['manager_id'],
|
'manager_id' => $data['manager_id'],
|
||||||
|
'sales_executive_id' => $data['sales_executive_id'],
|
||||||
'certificate_file_name' => $certificateFileName,
|
'certificate_file_name' => $certificateFileName,
|
||||||
'created_by' => $data['created_by']
|
'created_by' => $data['created_by']
|
||||||
];
|
];
|
||||||
@ -138,6 +139,7 @@ class AgentController extends ResourceController
|
|||||||
'mobile' => $data['mobile'] ?? null,
|
'mobile' => $data['mobile'] ?? null,
|
||||||
'address' => $data['address'] ?? null,
|
'address' => $data['address'] ?? null,
|
||||||
'agent_code' => $data['agent_code'] ?? null,
|
'agent_code' => $data['agent_code'] ?? null,
|
||||||
|
'sales_executive_id' => $data['sales_executive_id'] ?? null,
|
||||||
'updated_by' => $data['updated_by'] ?? null,
|
'updated_by' => $data['updated_by'] ?? null,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
149
app/Controllers/SalesExecutive.php
Normal file
149
app/Controllers/SalesExecutive.php
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controllers;
|
||||||
|
use CodeIgniter\RESTful\ResourceController;
|
||||||
|
use App\Controllers\BaseController;
|
||||||
|
use App\Models\SalesExecutiveModel;
|
||||||
|
use App\Models\AgentModel;
|
||||||
|
use App\Models\AgentIncentiveFileModel;
|
||||||
|
|
||||||
|
class SalesExecutive extends BaseController
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $SalesExecutiveModel;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->salesExecutiveModel = new SalesExecutiveModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
// LIST of all sales executive
|
||||||
|
public function salesExecutiveList()
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
|
||||||
|
$id = $this->request->getGet('manager_id');
|
||||||
|
|
||||||
|
$data = $this->salesExecutiveModel->where('manager_id' , $id )->findAll();
|
||||||
|
|
||||||
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find a sales executive
|
||||||
|
public function findSalesExecutive()
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
|
||||||
|
$id = $this->request->getGet('id');
|
||||||
|
|
||||||
|
$record = $this->salesExecutiveModel->find($id);
|
||||||
|
|
||||||
|
if (!$record) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $record], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// CREATE sales executive
|
||||||
|
public function createPartnerSalesExecutive()
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
$data = $this->request->getPost();
|
||||||
|
|
||||||
|
$insertData = [
|
||||||
|
'name' => $data['name'],
|
||||||
|
'email' => $data['email'],
|
||||||
|
'mobile' => $data['mobile'],
|
||||||
|
'address' => $data['address'],
|
||||||
|
'manager_id' => $data['manager_id'],
|
||||||
|
'created_by' => $data['created_by']
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->salesExecutiveModel->insert($insertData);
|
||||||
|
|
||||||
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => []], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UPDATE sales executive
|
||||||
|
public function updateSalesExecutive()
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
|
||||||
|
$data = $this->request->getPost();
|
||||||
|
if (!isset($data['id'])) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 200, 'data' => 'ID Required'], 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
$id = $data['id'];
|
||||||
|
|
||||||
|
// check if Sales Executive exists
|
||||||
|
$salesExecutive = $this->salesExecutiveModel->find($id);
|
||||||
|
if (!$salesExecutive) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 200, 'data' => 'Date Not Found'], 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updateData = [
|
||||||
|
'name' => $data['name'] ?? null,
|
||||||
|
'email' => $data['email'] ?? null,
|
||||||
|
'mobile' => $data['mobile'] ?? null,
|
||||||
|
'address' => $data['address'] ?? null,
|
||||||
|
'updated_by' => $data['updated_by'] ?? null,
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->salesExecutiveModel->update($id, $updateData);
|
||||||
|
|
||||||
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => []], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Soft Delete (ACTIVATE / DEACTIVATE) sales executive
|
||||||
|
public function changeSalesExecutiveStatus()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$data = $this->request->getJSON(true);
|
||||||
|
|
||||||
|
// validate inputs
|
||||||
|
if (!isset($data['id']) || !isset($data['is_active'])) {
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 200,'data' => 'ID and Status are required'], 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
$id = $data['id'];
|
||||||
|
$is_active = (int) $data['is_active']; // 0 or 1
|
||||||
|
|
||||||
|
$status = ($is_active == 1) ? 0 : 1;
|
||||||
|
|
||||||
|
// check if agent exists
|
||||||
|
$agent = $this->salesExecutiveModel->find($id);
|
||||||
|
if (!$agent) {
|
||||||
|
return $this->respond(['status' => 'failed','code' => 200, 'data' => 'Agent not found'], 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
// update status
|
||||||
|
$this->salesExecutiveModel->update($id, ['is_active' => $status]);
|
||||||
|
|
||||||
|
return $this->respond([
|
||||||
|
'status' => 'success', 'code' => 200,'data' => "Agent status updated"], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ class AgentModel extends Model
|
|||||||
'email_otp',
|
'email_otp',
|
||||||
'firebase_device_token',
|
'firebase_device_token',
|
||||||
'manager_id',
|
'manager_id',
|
||||||
|
'sales_executive_id',
|
||||||
'commission_retain',
|
'commission_retain',
|
||||||
'is_active',
|
'is_active',
|
||||||
'created_by',
|
'created_by',
|
||||||
|
|||||||
26
app/Models/SalesExecutiveModel.php
Normal file
26
app/Models/SalesExecutiveModel.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use CodeIgniter\Model;
|
||||||
|
|
||||||
|
class SalesExecutiveModel extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'partner_sales_executive';
|
||||||
|
protected $primaryKey = 'id';
|
||||||
|
|
||||||
|
protected $allowedFields = [
|
||||||
|
'name',
|
||||||
|
'email',
|
||||||
|
'mobile',
|
||||||
|
'address',
|
||||||
|
'manager_id',
|
||||||
|
'is_active',
|
||||||
|
'created_by',
|
||||||
|
'created_on',
|
||||||
|
'updated_by',
|
||||||
|
'updated_on'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $useTimestamps = false; // you are manually handling timestamps
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user