Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev

This commit is contained in:
VENKATESHWARAN 2025-10-10 15:13:56 +05:30
commit 1d9bc397a7
7 changed files with 341 additions and 73 deletions

View File

@ -706,6 +706,7 @@ $routes->group('test', function($routes) {
$routes->get('viewrfq', 'TestingController::viewRFQNonEb');
$routes->get('exportexcel', 'TestingController::exportExcel');
$routes->post('saverfq', 'TestingController::saverfq');
$routes->get('mapping_client_id_and_branch_id','TestingController::mapping_client_id_and_branch_id');
$routes->get('membervalidation', 'TestingController::membervalidation');
$routes->get('generateExcel', 'TestingController::generateExcel');
});

View File

@ -14,7 +14,7 @@ class EcardDownloadConversation extends Conversation
public function run()
{
$this->bot->types();
sleep(0.5);
// sleep(0.5);
$this->showEcardMenu();
}

View File

@ -111,7 +111,7 @@ class ChatbotControllerNew extends BaseController
log_message("error","Inside Bot Type Function");
$bot->types(); // Typing indicator for the first message
sleep(0.1); // Delay
// sleep(0.5); // Delay
});
// Start the Main Menu when user says "hi" or "start"
$this->botman->hears('start|hi|hello|help|help me', function (BotMan $bot) {

View File

@ -1121,14 +1121,47 @@ class ClientController extends AdminController
}
$data['created_by'] = get_session_userid();
// before updating check if pre_branch_id is already existing in the current db
if(isset($data['pre_branch_id']) && !empty($data['pre_branch_id']))
{
$existing_pre_branch = $this->clientBranchModel
->where('pre_branch_id',$data['pre_branch_id'])
//->where('id !=',$post_branch_id)
->first();
if($existing_pre_branch)
{
return $this->respond([
'status' => false,
'code' => 409,
'message' => 'The branch is already mapped with another branch. Please check.',
], 409);
}
}
$insert = $this->clientBranchModel->insert($data);
$post_branch_id = $insert;
if ($insert) {
$level_contact_data = $this->request->getPost('level_contect_data');
$level_contact_data = !empty($level_contact_data) ? json_decode($level_contact_data, true) : null;
$this->saveLevelContacts($level_contact_data, $insert);
}
if($post_branch_id && isset($data['pre_branch_id']) && !empty($data['pre_branch_id']))
{
// need to update the client_branch in the pre
$result = $this->updatePreClientBranch($data['pre_branch_id'],$post_branch_id , "create");
log_message('error','Pre client_branch update result for pre_branch_id '.$data['pre_branch_id'].' and post_branch_id '.$post_branch_id.' is '.json_encode($result));
}
if ($insert) {
$branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll();
$branchData['role'] = get_role_id();
@ -1153,7 +1186,11 @@ class ClientController extends AdminController
$this->myLogger->logme('error', 'Client branch EDIT function called');
$id = $this->request->getPost('branch_id_primarykey');
$client_id = $this->request->getPost('client_id');
$pre_branch_id = $this->request->getPost('pre_branch_id') ?? '';
$data = $this->request->getPost();
$data['pre_branch_id'] = $pre_branch_id;
$units = $this->request->getPost('units');
$emp_unit_count = 0;
@ -1212,7 +1249,41 @@ class ClientController extends AdminController
}
$data['updated_by'] = get_session_userid();
$post_branch_id = $id;
// before updating check if pre_branch_id is already existing in the current db
if(isset($data['pre_branch_id']) && !empty($data['pre_branch_id']))
{
$existing_pre_branch = $this->clientBranchModel
->where('pre_branch_id',$data['pre_branch_id'])
->where('id !=',$post_branch_id)
->first();
if($existing_pre_branch)
{
return $this->respond([
'status' => false,
'code' => 409,
'message' => 'The branch is already mapped with another branch. Please check.',
], 409);
}
}
$insert = $this->clientBranchModel->update($id, $data);
if($post_branch_id && isset($data['pre_branch_id']) && !empty($data['pre_branch_id']))
{
// need to update the client_branch in the pre
$result = $this->updatePreClientBranch($data['pre_branch_id'],$post_branch_id , "update");
log_message('error','Pre client_branch update result for pre_branch_id '.$data['pre_branch_id'].' and post_branch_id '.$post_branch_id.' is '.json_encode($result));
}
$this->myLogger->logme('error', 'Client branch EDITED by {data}', ['data' => get_session_userid()]);
@ -7130,9 +7201,15 @@ class ClientController extends AdminController
$post_branch_id = $value['post_branch_id'];
$post_hr_id = $value['post_hr_id'];
$value['pre_client_id'] = $this->getPreClientId($post_branch_id);
$value['pre_branch_id'] = $this->getPreBranchId($post_branch_id);
$value["pre_hr_id"] = $this->getPreHrId($post_branch_id);
$preBranchId = $this->getPreBranchIdByPostBranchId($post_branch_id);
if (!empty($preBranchId)) {
$value['pre_branch_id'] = $preBranchId;
$value['pre_client_id'] = $this->getPreClientIdByPreBranchId($preBranchId);
$value["pre_hr_id"] = $this->getPreHrIdByPreBranchId($preBranchId);
}
// INSERT or UPDATE
if (empty($value['pk']) || (int)$value['pk'] === 0) {
@ -7199,26 +7276,28 @@ class ClientController extends AdminController
}
}
private function getPreClientId($post_branch_id){
private function getPreClientIdByPreBranchId($pre_branch_id){
$db2 = \Config\Database::connect('preDB');
$pre_client_id = $db2->table('client_branch')->where('post_branch_id',$post_branch_id)->where('is_Active',1)->get()->getResultArray()[0]['client_id']??[];
$pre_client_id = $db2->table('client_branch')->where('id',$pre_branch_id)->where('is_Active',1)->get()->getResultArray()[0]['client_id']??"";
return $pre_client_id;
}
private function getPreBranchId($post_branch_id){
$db2 = \Config\Database::connect('preDB');
$pre_branch_id = $db2->table('client_branch')->where('post_branch_id',$post_branch_id)->where('is_Active',1)->get()->getResultArray()[0]['id']??[];
return $pre_branch_id;
}
private function getPreHrId($post_branch_id){
private function getPreHrIdByPreBranchId($pre_branch_id){
$db2 = \Config\Database::connect('preDB');
$pre_hr_id = $db2->table('client_branch cb')
->select('lc.id')
->join('level_contacts lc','lc.ref_id = cb.id')
->where('post_branch_id',$post_branch_id)->where('is_Active',1)->get()->getResultArray()[0]['id']??[];
->where('cb.id',$pre_branch_id)->where('cb.is_Active',1)->where('lc.is_Active',1)->get()->getResultArray()[0]['id']??"";
return $pre_hr_id;
}
private function getPreBranchIdByPostBranchId($post_branch_id){
$db2 = \Config\Database::connect();
$pre_branch_id = $db2->table('client_branch')->where('id',$post_branch_id)->where('is_Active',1)->get()->getResultArray()[0]['pre_branch_id']??"";
return $pre_branch_id;
}
// ------------------- DEMO CLIENT FUNCTION --------------------------------------------------------------------------------
public function wipeDemoClient()
@ -7607,6 +7686,26 @@ class ClientController extends AdminController
}
private function updatePreClientBranch($pre_branch_id,$post_branch_id ,$operation)
{
$preDB = \Config\Database::connect('preDB');
if($operation != 'create'){
$builder = $preDB->table('client_branch');
$builder->where('post_branch_id', $post_branch_id);
$builder->update(['post_branch_id' => null]);
}
$builder = $preDB->table('client_branch');
$builder->where('id', $pre_branch_id);
$builder->update(['post_branch_id' => $post_branch_id]);
return true;
}

View File

@ -26,7 +26,7 @@ class TestingController extends BaseController
{
$this->myLogger = \Config\Services::mylogger();
}
public function saveForm()
{
// Get JSON input
@ -41,7 +41,7 @@ class TestingController extends BaseController
}
public function testcli()
{
{
echo "hi";
$this->myLogger->logme('error', "test log");
echo "hi 2";
@ -85,19 +85,19 @@ class TestingController extends BaseController
$options->set('debugLayoutBlocks', false);
$options->set('debugLayoutInline', false);
$options->set('debugLayoutPaddingBox', false);
// Initialize DomPDF
$dompdf = new Dompdf($options);
// Load HTML content
$dompdf->loadHtml($html);
// Set paper size and orientation
$dompdf->setPaper('A4', 'landscape'); // or 'portrait'
// Render PDF
$dompdf->render();
// Output PDF to browser
$filename = 'ecard_' . date('Y-m-d_H-i-s') . '.pdf';
$dompdf->stream($filename, ['Attachment' => true]); // Set to false for inline view
@ -117,7 +117,7 @@ class TestingController extends BaseController
'POLICY_DATE' => '31/12/2024',
'INSURER_NAME' => 'ZURICH KOTAK GTNERAL INSURANCE COIIPANY lNDlA LIMITED',
'TPA_NAME' => 'HealthIndia Insurance TPA Services Pvt. Ltd.',
'FRONT_CARD' => base_url() .('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'),
'FRONT_CARD' => base_url() . ('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'),
'BACK_CARD' => base_url() . ('public/uploads/template_bg/Nhance_Ecard_working_1_Back_3.png'),
'LEVELS' => 'Level 1: 1800-XXX-XXXX<br>Level 2: support@company.com'
];
@ -133,7 +133,7 @@ class TestingController extends BaseController
'POLICY_DATE' => '31/12/2024',
'INSURER_NAME' => 'ABC Insurance Co.',
'TPA_NAME' => 'XYZ TPA Ltd.',
'FRONT_CARD' => base_url() .('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'),
'FRONT_CARD' => base_url() . ('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'),
'BACK_CARD' => base_url() . ('public/uploads/template_bg/Nhance_Ecard_working_1_Back_3.png'),
'LEVELS' => 'Level 1: 1800-XXX-XXXX<br>Level 2: support@company.com'
];
@ -163,12 +163,12 @@ class TestingController extends BaseController
{
// Load your HTML template
$template = file_get_contents(WRITEPATH . 'e_card_template/common.html');
// Replace placeholders with actual data
foreach ($data as $key => $value) {
$template = str_replace('{' . $key . '}', $value, $template);
}
return $template;
}
@ -231,21 +231,21 @@ class TestingController extends BaseController
$employeePolicy = new EmployeePolicyModel();
$data = $employeePolicy
->select('client_policy.policy_type_id')
->join('employees', 'employee_polices.employee_id = employees.id')
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id')
->where('employees.is_active', 1)
->where('employees.emp_status', ['active', 'expired'])
->where('employee_polices.is_active', 1)
->where('employee_polices.status', ['active', 'expired'])
->where('employees.client_id', $client_id)
->where('employees.emp_code', $emp_code)
->groupBy('employee_polices.client_policy_id')
->findAll();
->select('client_policy.policy_type_id')
->join('employees', 'employee_polices.employee_id = employees.id')
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id')
->where('employees.is_active', 1)
->where('employees.emp_status', ['active', 'expired'])
->where('employee_polices.is_active', 1)
->where('employee_polices.status', ['active', 'expired'])
->where('employees.client_id', $client_id)
->where('employees.emp_code', $emp_code)
->groupBy('employee_polices.client_policy_id')
->findAll();
}
public function ptedfitdata($id){
public function ptedfitdata($id)
{
$policy_transaction = new PolicyTransactionController();
$data = $policy_transaction->getInceptionDataForEdit($id);
// dd($data);
@ -255,7 +255,7 @@ class TestingController extends BaseController
$dataArray = $data['pt_co_share_details']; // Example
$cd_ac_pk = 'CD12345';
$role_id = 1;
$team_id = ['6'];
$team_id = ['6'];
$insurer_branch = $insurer_branch;
return view('pt_calc_table', [
@ -321,7 +321,7 @@ class TestingController extends BaseController
}
public function viewRFQNonEb()
{
{
$insurerBranchModel = new InsurerBranchModel();
$data['page_name'] = "RFQ NON EB";
$data['insurer'] = $insurerBranchModel->getInsurerBranchesWithInsurerNames();
@ -329,7 +329,8 @@ class TestingController extends BaseController
return $this->loadLayout('view_rfq_non_eb_new', $data);
}
public function saverfq(){
public function saverfq()
{
$json = $this->request->getPost('json');
$json = json_encode($json);
print_r($json);
@ -348,10 +349,149 @@ class TestingController extends BaseController
// print_rr($policy_data['json']); die;
$policy_data = json_decode($policy_data['json'], true);
$policy_data = array_slice($policy_data, 0, -2);
print_rr($policy_data); die;
dd($policy_data);
print_rr($policy_data);
die;
dd($policy_data);
}
public function mapping_client_id_and_branch_id()
{
$post_clients_list = $this->getNonDuplicatePostClients();
$pre_clients_list = $this->getNonDuplicatePreClients();
if (
!empty($pre_clients_list) &&
!empty($post_clients_list)
) {
$postDB = \Config\Database::connect();
$preDB = \Config\Database::connect('preDB');
foreach ($post_clients_list as $post_client) {
foreach ($pre_clients_list as $pre_client) {
if (trim($post_client['short_name']) == trim($pre_client['short_name'])) {
$postDB->table('clients')->where('id', $post_client['id'])->update(['pre_client_id' => $pre_client['id']]);
$preDB->table('clients')->where('id', $pre_client['id'])->update(['post_client_id' => $post_client['id']]);
// upto here we updated client_id in both dbs.
$post_branches = $postDB->table('client_branch')
->where('client_id', $post_client['id'])
->get()
->getResultArray() ?? [];
$pre_branches = $preDB->table('client_branch')
->where('client_id', $pre_client['id'])
->get()
->getResultArray() ?? [];
if (!empty($post_branches) && !empty($pre_branches)) {
foreach ($post_branches as $post_branch) {
$pre_branch = $preDB->table('client_branch')
->where('client_id', $pre_client['id'])
->where('branch_code', $post_branch['branch_code'])
->get()
->getRowArray() ?? [];
if (!empty($pre_branch)) {
$postDB->table('client_branch')->where('id', $post_branch['id'])->update(['pre_branch_id' => $pre_branch['id']]);
}
}
foreach ($pre_branches as $pre_branch) {
$post_branch = $postDB->table('client_branch')
->where('client_id', $post_client['id'])
->where('branch_code', $pre_branch['branch_code'])
->get()
->getRowArray() ?? [];
if (!empty($post_branch)) {
$preDB->table('client_branch')->where('id', $pre_branch['id'])->update(['post_branch_id' => $post_branch['id']]);
}
}
}
}
}
}
}
}
private function getNonDuplicatePostClients()
{
$postDB = \Config\Database::connect();
$sql = "SELECT *
FROM clients AS post_clients
WHERE post_clients.client_type = 1
AND post_clients.is_active = 1
AND (post_clients.short_name NOT IN
(
SELECT ir_post_clients.short_name
FROM clients as ir_post_clients
WHERE ir_post_clients.client_type = 1
AND ir_post_clients.short_name IS NOT NULL
AND TRIM(ir_post_clients.short_name) <> ''
AND ir_post_clients.is_active = 1
GROUP BY ir_post_clients.short_name
HAVING COUNT(*) > 1)
)
ORDER BY post_clients.short_name";
$binds = [];
$query = $postDB->query($sql, $binds);
$results = $query->getResultArray() ?? [];
return $results;
}
private function getNonDuplicatePreClients()
{
$preDB = \Config\Database::connect('preDB');
$sql = "SELECT *
FROM clients AS pre_clients
WHERE pre_clients.client_type = 1
AND pre_clients.is_active = 1
AND (pre_clients.short_name NOT IN
(
SELECT ir_pre_clients.short_name
FROM clients as ir_pre_clients
WHERE ir_pre_clients.client_type = 1
AND ir_pre_clients.short_name IS NOT NULL
AND TRIM(ir_pre_clients.short_name) <> ''
AND ir_pre_clients.is_active = 1
GROUP BY ir_pre_clients.short_name
HAVING COUNT(*) > 1)
)
ORDER BY pre_clients.short_name";
$binds = [];
$query = $preDB->query($sql, $binds);
$results = $query->getResultArray() ?? [];
return $results;
}
public function membervalidation($lead_id = 329)
{
$lead_controll = new LeadsController();

View File

@ -86,13 +86,18 @@
<hr>
<form role="form" class="parsley-examples" method="post" id="branch_form" enctype="multipart/form-data">
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<!-- post_client_id as client_id -->
<input type="hidden" name="client_id" id="client_id_branch"
value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<!-- pre_branch_id -->
<input type="hidden" name="pre_branch_id" id="pre_branch_id"
value="<?= isset($pre_branch_id) ? $pre_branch_id : '' ?>" />
<!-- post_branch_id as branch_id_primarykey -->
<input type="hidden" name="branch_id_primarykey" id="branch_id_primarykey" />
<div class="form-group">
@ -297,6 +302,8 @@ $('#btnBranchAdd').click(function() {
$('#district').val('');
$('#branch_city').val('');
$('#branch_form')[0].reset();
$('#branch_form').parsley().reset();
$('#pre_branch_id').val('');
$('.ac').css('display', 'block');
contactCount = 1
@ -389,6 +396,7 @@ $("#branch_form").submit(function(event) {
var formData = new FormData($('#branch_form')[0]);
const jsonString = JSON.stringify(selectedValues);
const level_contect_data_json_string = JSON.stringify(level_contect_data);
console.log('jsonString', jsonString);
@ -479,6 +487,9 @@ $("#branch_form").submit(function(event) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log('Something Wrong!', 'warning');
if(xhr.status === 409){
alert('The Current Branch is Already Existing..!!');
}
}, 300);
},
complete: function() {
@ -546,7 +557,7 @@ $('body').on('click', '.btnBranchEdit', function() {
$('#district').val(res.data.district);
$('#branch_city').val(res.data.city);
$('#branch_PrimaryKey').val(res.data.id);
$('#pre_branch_id').val(res.data.pre_branch_id)
$('#pre_branch_id').val(res.data.pre_branch_id??'')
if(res.data.sez == 1){
$('#sez').prop('checked', true);

View File

@ -418,7 +418,7 @@
<div class="col-md-6">
<div class="form-group col-md-12">
<label for="auto_fetch_client">Client List<span class="text-danger">*</span></label>
<select class="form-control" id="auto_fetch_client" name="auto_fetch_client" required>
<select class="form-control select2" id="auto_fetch_client" name="auto_fetch_client" required>
<option value="">Select Client</option>
<?php if (!empty($auto_fetch_client_list)): ?>
<?php foreach ($auto_fetch_client_list as $client_list): ?>
@ -434,7 +434,7 @@
<div class="col-md-6">
<div class="form-group col-md-12">
<label for="auto_fetch_branch">Branch List<span class="text-danger">*</span></label>
<select class="form-control" id="auto_fetch_branch" name="auto_fetch_branch" required>
<select class="form-control select2" id="auto_fetch_branch" name="auto_fetch_branch" required>
<option value="">Select Branch</option>
</select>
@ -1043,38 +1043,52 @@
</script>
<script>
$('#auto_fetch_client').change(function() {
$(document).ready(function() {
$('#auto_fetch_branch').html(`<option value="">Select Branch</option>`);
$('#auto_fetch_client').select2();
$('#auto_fetch_branch').select2();
$('#auto_fetch_client').change(function() {
$.ajax({
url: "<?php echo base_url('client/branch/auto_fetch_branch'); ?>",
type: "POST",
data: {
client_id: $('#auto_fetch_client').val()
},
dataType: "json",
success: function(response, textStatus, xhr) {
if (xhr.status === 200) {
let options = `<option value="">Select Branch</option>`;
$('#auto_fetch_branch').html(`<option value="">Select Branch</option>`);
response.data.forEach((data) => {
options += `<option value="${data.id}">${data.branch_name}</option>`;
});
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
$('#auto_fetch_branch').html(options);
} else {
$('#auto_fetch_branch').html('<option value="">No Branch Found</option>');
$.ajax({
url: "<?php echo base_url('client/branch/auto_fetch_branch'); ?>",
type: "POST",
data: {
client_id: $('#auto_fetch_client').val()
},
dataType: "json",
success: function(response, textStatus, xhr) {
if (xhr.status === 200) {
let options = `<option value="">Select Branch</option>`;
response.data.forEach((data) => {
options += `<option value="${data.id}">${data.branch_name}</option>`;
});
$('#auto_fetch_branch').html(options);
} else {
$('#auto_fetch_branch').html('<option value="">No Branch Found</option>');
}
},
error: function(xhr, status, error) {
console.error("Error occurred:", status, error);
},
complete: function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log("auto_fetch_client call is completed..!!");
}
},
error: function(xhr, status, error) {
console.error("Error occurred:", status, error);
},
complete: function() {
console.log("auto_fetch_client call is completed..!!");
}
});
});
});
</script>
<script>
@ -1156,4 +1170,7 @@
})
</script>