GIF89a;
Server IP : 172.26.0.195 / Your IP : 3.12.73.149 Web Server : Apache System : Linux 43-205-77-33.cprapid.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : jnclnmuac ( 1026) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/jnclnmuac/public_html/web/../web/js/../../cas/application/controllers/admin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php /** * Controller For Handling All Requests Related To Fee * * @author Softpro India Pvt. Ltd. */ defined('BASEPATH') OR exit('No direct script access allowed'); class Fee extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('admin/FeeManagement'); $this->load->model('admin/SessionManagement'); $this->load->model('admin/CourseManagement'); $this->load->model('admin/BranchManagement'); $this->load->model('admin/StudentManagement'); $this->load->model('admin/HostelManagement'); $this->load->library('util/Denominator'); } public function index() { redirect("admin/Fee/receiptManagement"); } /* Request Handlers For Fee Collection */ public function collectFeeOld($tspi_id = '') { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $error = ""; $studentData = array(); $feeInfo = array(); $alreadyPaidFee = array(); if (isset($_POST['fetchStudentInfo']) || $tspi_id != "") { $formEnrlRollNo = addslashes(trim($this->input->post('formEnrlRollNo'))); if ($formEnrlRollNo != "" || $tspi_id != "") { $this->session->set_flashdata('errorMessage', NULL); if ($tspi_id != "") { $studentData = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy($tspi_id)->result(); } else { $studentData = $this->StudentManagement->getStudentInfoByFormEnrollmentOrRollNo($formEnrlRollNo)->result(); } if (sizeof($studentData)) { $student_info = $studentData[0]; $is_structure_set = (sizeof($this->FeeManagement->getFeeStructureOfStudentBy($student_info->tspi_id)->result())) ? true : false; $studentFatherName = $this->StudentManagement->getStudentFatherInfoBy($student_info->tspi_id)->result()[0]->tfbi_name; $studentCurrentSemesterInfo = $this->StudentManagement->getStudentCurrentSectionSemesterInfoBy($student_info->tspi_id)->result(); $gender = ""; $studentCurrentSemesterOrYear = ""; $semesterOrYearToShow = ""; $timeMgmtFlag = ($student_info->course_time_mgmt_flag == "S") ? "Sem." : "Year"; $entryType = stripslashes($student_info->tcsm_course_type); $totalSemestersOrYears = $student_info->course_no_of_sems; $isFirstPayment = FALSE; if ($student_info->tspi_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($student_info->tspi_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } if (sizeof($studentCurrentSemesterInfo)) { $studentCurrentSemesterOrYear = $studentCurrentSemesterInfo[0]->tsssi_semester; $semesterOrYearToShow = $studentCurrentSemesterOrYear; $paidFeeInfo = $this->FeeManagement->getAllPaidFeeDetailsBy($student_info->tspi_id)->result(); if (sizeof($paidFeeInfo) == 0) { $isFirstPayment = TRUE; if ($entryType == "Lateral Entry") { $studentCurrentSemesterOrYear = 3; } else { $studentCurrentSemesterOrYear = 1; } } else { $studentCurrentSemesterOrYear = $paidFeeInfo[0]->fcm_semester; } } else { $studentCurrentSemesterOrYear = $student_info->tcsm_sem_start_from; $semesterOrYearToShow = "New Admission"; $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsBy($student_info->tspi_id, $studentCurrentSemesterOrYear)->result(); if (!sizeof($paidFeeInfo)) { $isFirstPayment = TRUE; } } $studentData = array( 'stu_id' => $student_info->tspi_id, 'stu_name' => stripslashes($student_info->tspi_name), 'stu_father_name' => stripslashes($studentFatherName), 'stu_gender' => $gender, 'stu_form_no' => stripslashes($student_info->tspi_form_no), 'stu_roll_no' => ($student_info->tspi_form_no == $student_info->tspi_rollNumber) ? "-" : stripslashes($student_info->tspi_rollNumber), 'stu_enrollment_no' => ($student_info->tspi_form_no == $student_info->tspi_enrollment_no) ? "-" : stripslashes($student_info->tspi_enrollment_no), 'stu_dob' => date('d-m-Y', strtotime($student_info->tspi_dob)), 'stu_category' => stripslashes($student_info->tspi_category), 'stu_course' => stripslashes($student_info->course_name), 'stu_entry_type' => $entryType, 'stu_session' => stripslashes($student_info->session_name), 'stu_batch' => explode('-', $student_info->session_name)[0] . "-" . $student_info->session_end_year, 'stu_photograph' => base_url("assets/admin/uploads/studentData/") . $student_info->studentPhoto, 'stu_sign' => base_url("assets/admin/uploads/studentData/") . $student_info->studentSign, 'stu_sch_eligible' => ($student_info->tspi_scholarship_eligible == "T") ? "Yes (" . $student_info->tspi_scholarship_percentage . "%)" : "Not Eligible", 'stu_current_semester' => $semesterOrYearToShow, 'stu_fee_structure_avail' => $is_structure_set ); /* Fetching And Setting Fee Info */ if ($isFirstPayment) { $eligibleStructureForPayment = $this->FeeManagement->getFeeStructureOfStudentBy($student_info->tspi_id)->result(); if (sizeof($eligibleStructureForPayment)) { for ($i = 0; $i < sizeof($eligibleStructureForPayment); $i++) { array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $eligibleStructureForPayment[$i]->fssm_amount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . 0.0 . "/-", 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . $eligibleStructureForPayment[$i]->fssm_amount . "/-", 'fssm_due_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'paying_for_year_sem' => $eligibleStructureForPayment[$i]->fssm_semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => array(), 'is_field_enabled' => TRUE, 'is_first_payment' => TRUE )); } } else { $error = "Fee Has Not Been Setup For This Course, Session & Semester/Year. Please Ask Admin To Setup Fee Details."; } } else { $allPaidFeeDetails = $this->FeeManagement->getAllPaidFeeDetailsBy($student_info->tspi_id)->result(); $firstPaidSemesterOrYear = $allPaidFeeDetails[0]->fcm_semester; $cousellingFeeInfo = $this->FeeManagement->getPaidCouncellingFeeDetailsByStudent($student_info->tspi_id)->result(); $ifCounsellingFeeAdjusted = FALSE; for ($semester = $firstPaidSemesterOrYear; $semester <= $totalSemestersOrYears; $semester++) { $eligibleStructureForPayment = $this->FeeManagement->getFeeStructureOfStudentBy($student_info->tspi_id, $semester)->result(); $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsBy($student_info->tspi_id, $semester)->result(); if (sizeof($eligibleStructureForPayment)) { for ($i = 0; $i < sizeof($eligibleStructureForPayment); $i++) { $paidFeeInfoByStructure = $this->FeeManagement->getPaidFeeDetailsByStructure($student_info->tspi_id, $semester, $eligibleStructureForPayment[$i]->fssm_id)->result(); if (sizeof($paidFeeInfoByStructure)) { $paidAmount = 0.0; for ($j = 0; $j < sizeof($paidFeeInfoByStructure); $j++) { $paidAmount += $paidFeeInfoByStructure[$j]->fcm_amount; } $applicableAmount = $eligibleStructureForPayment[$i]->fssm_amount; /* C.F. Adjustment */ $settlement = ""; if ($ifCounsellingFeeAdjusted == FALSE && $eligibleStructureForPayment[$i]->fhm_type == "R" && sizeof($cousellingFeeInfo)) { if (($paidAmount + $cousellingFeeInfo[0]->fcnm_amount) <= $applicableAmount) { $paidAmount += $cousellingFeeInfo[0]->fcnm_amount; $settlement = " (<i class='fa fa-inr'></i>" . $cousellingFeeInfo[0]->fcnm_amount . " C.F. Adj.)"; $ifCounsellingFeeAdjusted = TRUE; } } /* C.F. Adjustment */ if ($paidAmount == 0.0) { array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $applicableAmount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-", 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($applicableAmount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($applicableAmount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => TRUE, 'is_first_payment' => FALSE )); } else if ($paidAmount < $applicableAmount) { array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $applicableAmount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-" . $settlement, 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($applicableAmount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($applicableAmount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => (round(($applicableAmount - $paidAmount), 2) == 0 ) ? FALSE : TRUE, 'is_first_payment' => FALSE )); } else { array_push($alreadyPaidFee, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $applicableAmount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-" . $settlement, 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($applicableAmount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($applicableAmount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => (round(($applicableAmount - $paidAmount), 2) <= 0) ? FALSE : TRUE, 'is_first_payment' => FALSE )); } } else { $paidAmount = 0.0; if ($eligibleStructureForPayment[$i]->fhm_type == "R" && $ifCounsellingFeeAdjusted == FALSE) { if (sizeof($cousellingFeeInfo)) { $paidAmount = $cousellingFeeInfo[0]->fcnm_amount; } $ifCounsellingFeeAdjusted = TRUE; } array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $eligibleStructureForPayment[$i]->fssm_amount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-", 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($eligibleStructureForPayment[$i]->fssm_amount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($eligibleStructureForPayment[$i]->fssm_amount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => TRUE, 'is_first_payment' => FALSE )); } } } else { $error = "Next Due Fees Has Not Been Setup. Please Ask Admin To Setup Fee Details."; break; } } } } else { $error = "No Student Data Found Against The Entered Form No./Enrl. No./Roll No."; } } else { $this->session->set_flashdata('errorMessage', "Enter Form No./Enrl. No./Roll No. Of Student."); $studentData = array(); $feeInfo = array(); } } $finalArray = array(); for ($i = 0; $i < sizeof($alreadyPaidFee); $i++) { array_push($finalArray, $alreadyPaidFee[$i]); } for ($i = 0; $i < sizeof($feeInfo); $i++) { array_push($finalArray, $feeInfo[$i]); } $viewData['error'] = $error; $viewData['studentInfo'] = $studentData; $viewData['feeInfo'] = $finalArray; $viewData['sessions'] = $this->SessionManagement->getNonDeletedActiveSessions(array('O', 'C'))->result(); $viewData['feeModes'] = $this->FeeManagement->getNonDeletedActiveFeeModes()->result(); $this->load->view('admin/fee/collectFeeOld', $viewData); } else { redirect("admin/"); } } public function saveFeeAndGenerateReceiptOld() { if ($this->sessionvalidator->isLoggedIn()) { $studentInfo = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy(trim($this->input->post('tspi_id')))->result()[0]; $councellingFeeInfo = array(); /* Handling Councelling Fee */ if ($this->input->post('paidCouncellingFee') != NULL) { $councellingFeeAmt = $this->input->post('councellingFeeAmt'); $councellingFeeMode = $this->input->post('councellingFeeMode'); $councellingFeeRefNo = $this->input->post('councellingChDDTxnNRFN'); $councellingFeeDate = date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('councellingFeePaymentDate')))); $councellingFeeInfo = array( 'fcnm_amount' => $councellingFeeAmt, 'fcnm_mode' => $councellingFeeMode, 'fcnm_ref_no' => $councellingFeeRefNo, 'fcnm_date' => $councellingFeeDate, 'frm_id' => '', 'tspi_id' => trim($this->input->post('tspi_id')), 'fcnm_added_on' => date("Y-m-d H:i:s"), 'fcnm_added_by' => $this->session->userdata("adminData")["smember_id"], 'fcnm_updated_on' => date("Y-m-d H:i:s"), 'fcnm_updated_by' => $this->session->userdata("adminData")["smember_id"] ); } /* Handling Councelling Fee */ /* Handling Compulsory Fee Against The Selected Heads */ $collectionInfo = array(); $partPaymentInfo = array(); $fssmIds = $this->input->post("selectedFssmIds"); if (is_array($fssmIds) || is_object($fssmIds)) { foreach ($fssmIds as $fssmId) { $valueOfI = $this->input->post("fssm" . $fssmId); array_push($collectionInfo, array( 'fcm_txn_id_ref_dd_ch_no' => trim($this->input->post('chDDTxnNRFN')), 'fcm_txn_id_ref_dd_ch_date' => date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('chDDNEFTDate')))), 'fcm_bank_name' => addslashes(trim($this->input->post('bankName'))), 'fcm_semester' => $this->input->post("payingForSemOrYear[$fssmId]"), 'fcm_amount' => $this->input->post("submittedAmt[$valueOfI]"), 'session_id' => $this->input->post("sessions[$fssmId]"), 'fcm_entry_on' => date("Y-m-d H:i:s"), 'tspi_id' => trim($this->input->post('tspi_id')), 'fssm_id' => $fssmId, 'fmm_id' => trim($this->input->post('feeMode')), 'frm_id' => '' )); array_push($partPaymentInfo, array( 'fssm_id' => $fssmId, 'is_part_payment' => ($this->input->post("submittedAmt[$valueOfI]") < $this->input->post("fssm_amounts[$fssmId]")) ? true : false )); } } /* Handling Compulsory Fee Against The Selected Heads */ /* Handling Fee Receipt Info */ $newFeeReceiptInfo = array( 'frm_receipt_date' => date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('feeReceiptDate')))), 'frm_receipt_no' => trim($this->input->post('feeReceiptNo')), 'frm_total_amount' => trim($this->input->post("totalFeeCollected")), 'frm_remarks' => addslashes(trim($this->input->post('remarks'))), 'frm_title' => addslashes(trim($this->input->post('receiptTitle'))), 'frm_generated_on' => date("Y-m-d H:i:s"), 'frm_generated_by' => $this->session->userdata("adminData")["smember_id"], 'frm_updated_on' => date("Y-m-d H:i:s"), 'frm_updated_by' => $this->session->userdata("adminData")["smember_id"] ); $this->db->trans_start(); $frm_id = $this->FeeManagement->createNewReceipt($newFeeReceiptInfo); for ($i = 0; $i < sizeof($collectionInfo); $i++) { $collectionInfo[$i]['frm_id'] = $frm_id; } $this->FeeManagement->createFeeCollectionInfoMulti($collectionInfo); if (sizeof($councellingFeeInfo)) { $councellingFeeInfo['frm_id'] = $frm_id; $this->FeeManagement->createNewCouncellingFee($councellingFeeInfo); } $this->db->trans_complete(); /* Handling Fee Receipt Info & Making Entries */ /* Setting Data For Fee Receipt */ $chqDDTxnNEFTRefNo = trim($this->input->post('chDDTxnNRFN')); $chqDDTxnNEFTDate = date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('chDDNEFTDate')))); $totalPaid = trim($this->input->post("totalFeeCollected")); $paymentModeInfo = $this->FeeManagement->getFeeModeInfoBy(trim($this->input->post('feeMode')))->result()[0]; $councellingFeePaymentModeInfo = ""; $councellingFeeDate = ""; $councellingFeeAmt = ""; $coucellingRefNo = ""; if (sizeof($councellingFeeInfo)) { $councellingFeePaymentModeInfo = $this->FeeManagement->getFeeModeInfoBy(trim($this->input->post('councellingFeeMode')))->result()[0]; $councellingFeeDate = date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('councellingFeePaymentDate')))); $councellingFeeAmt = trim($this->input->post('councellingFeeAmt')); $coucellingRefNo = trim($this->input->post('councellingChDDTxnNRFN')); } $collectionInfoDetails = array(); for ($i = 0; $i < sizeof($collectionInfo); $i++) { $feeStructureInfo = $this->FeeManagement->getFeeStructureDetailsOfStudentById($collectionInfo[$i]['fssm_id'])->result()[0]; array_push($collectionInfoDetails, array( 'fee_head' => stripslashes($feeStructureInfo->fhm_short_name), 'amount_paid' => "INR(<i class='fa fa-inr'></i>) " . $collectionInfo[$i]['fcm_amount'] . "/-", 'sem_or_year' => $collectionInfo[$i]['fcm_semester'], 'is_part_payment' => ($partPaymentInfo[$i]['is_part_payment']) ? "(Partial Payment)" : "" )); } $receiptData = array( 'receipt_title' => addslashes(trim($this->input->post('receiptTitle'))), 'receipt_number' => trim($this->input->post('feeReceiptNo')), 'receipt_date' => date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('feeReceiptDate')))), 'student_details' => $studentInfo, 'fee_mode' => stripslashes($paymentModeInfo->fmm_short_name), 'chqDDTxnNEFTRefNo' => $chqDDTxnNEFTRefNo, 'chqDDTxnNEFTDate' => (!strcasecmp(stripslashes($paymentModeInfo->fmm_short_name), "cash")) ? "NA" : $chqDDTxnNEFTDate, 'total_paid' => $totalPaid, 'total_paid_in_words' => $this->denominator->convertToWords($totalPaid), 'councelling_fee' => $councellingFeeInfo, 'councelling_amount' => $councellingFeeAmt, 'councelling_fee_mode' => (is_object($councellingFeePaymentModeInfo)) ? stripslashes($councellingFeePaymentModeInfo->fmm_short_name) : "", 'councelling_fee_ref_no' => $coucellingRefNo, 'councelling_fee_date' => $councellingFeeDate, 'collection_info' => $collectionInfoDetails, 'is_old_fee' => TRUE, 'is_cancelled' => FALSE ); $this->session->set_flashdata('successMessage', 'Fee Collection Details Saved Successfully.'); $this->load->view("admin/fee/receipt", $receiptData); } else { redirect("admin/"); } } public function collectFee($tspi_id = '') { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $error = ""; $studentData = array(); $feeInfo = array(); $alreadyPaidFee = array(); if (isset($_POST['fetchStudentInfo']) || $tspi_id != "") { $formEnrlRollNo = addslashes(trim($this->input->post('formEnrlRollNo'))); if ($formEnrlRollNo != "" || $tspi_id != "") { $this->session->set_flashdata('errorMessage', NULL); if ($tspi_id != "") { $studentData = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy($tspi_id)->result(); } else { $studentData = $this->StudentManagement->getStudentInfoByFormEnrollmentOrRollNo($formEnrlRollNo)->result(); } if (sizeof($studentData)) { $student_info = $studentData[0]; $is_structure_set = (sizeof($this->FeeManagement->getFeeStructureOfStudentBy($student_info->tspi_id)->result())) ? true : false; $studentFatherName = $this->StudentManagement->getStudentFatherInfoBy($student_info->tspi_id)->result()[0]->tfbi_name; $studentCurrentSemesterInfo = $this->StudentManagement->getStudentCurrentSectionSemesterInfoBy($student_info->tspi_id)->result(); $gender = ""; $studentCurrentSemesterOrYear = ""; $semesterOrYearToShow = ""; $timeMgmtFlag = ($student_info->course_time_mgmt_flag == "S") ? "Sem." : "Year"; $entryType = stripslashes($student_info->tcsm_course_type); $totalSemestersOrYears = $student_info->course_no_of_sems; $isFirstPayment = FALSE; if ($student_info->tspi_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($student_info->tspi_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } if (sizeof($studentCurrentSemesterInfo)) { $studentCurrentSemesterOrYear = $studentCurrentSemesterInfo[0]->tsssi_semester; $semesterOrYearToShow = $studentCurrentSemesterOrYear; $paidFeeInfo = $this->FeeManagement->getAllPaidFeeDetailsBy($student_info->tspi_id)->result(); if (sizeof($paidFeeInfo) == 0) { $isFirstPayment = TRUE; if ($entryType == "Lateral Entry") { $studentCurrentSemesterOrYear = 3; } else { $studentCurrentSemesterOrYear = 1; } } else { $studentCurrentSemesterOrYear = $paidFeeInfo[0]->fcm_semester; } } else { $studentCurrentSemesterOrYear = $student_info->tcsm_sem_start_from; $semesterOrYearToShow = "New Admission"; $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsBy($student_info->tspi_id, $studentCurrentSemesterOrYear)->result(); if (!sizeof($paidFeeInfo)) { $isFirstPayment = TRUE; } } $studentData = array( 'stu_id' => $student_info->tspi_id, 'stu_name' => stripslashes($student_info->tspi_name), 'stu_father_name' => stripslashes($studentFatherName), 'stu_gender' => $gender, 'stu_form_no' => stripslashes($student_info->tspi_form_no), 'stu_roll_no' => ($student_info->tspi_form_no == $student_info->tspi_rollNumber) ? "-" : stripslashes($student_info->tspi_rollNumber), 'stu_enrollment_no' => ($student_info->tspi_form_no == $student_info->tspi_enrollment_no) ? "-" : stripslashes($student_info->tspi_enrollment_no), 'stu_dob' => date('d-m-Y', strtotime($student_info->tspi_dob)), 'stu_category' => stripslashes($student_info->tspi_category), 'stu_course' => stripslashes($student_info->course_name), 'stu_entry_type' => $entryType, 'stu_session' => stripslashes($student_info->session_name), 'stu_batch' => explode('-', $student_info->session_name)[0] . "-" . $student_info->session_end_year, 'stu_photograph' => base_url("assets/admin/uploads/studentData/") . $student_info->studentPhoto, 'stu_sign' => base_url("assets/admin/uploads/studentData/") . $student_info->studentSign, 'stu_sch_eligible' => ($student_info->tspi_scholarship_eligible == "T") ? "Yes (" . $student_info->tspi_scholarship_percentage . "%)" : "Not Eligible", 'stu_current_semester' => $semesterOrYearToShow, 'stu_fee_structure_avail' => $is_structure_set ); /* Fetching And Setting Fee Info */ if ($isFirstPayment) { $eligibleStructureForPayment = $this->FeeManagement->getFeeStructureOfStudentBy($student_info->tspi_id)->result(); if (sizeof($eligibleStructureForPayment)) { for ($i = 0; $i < sizeof($eligibleStructureForPayment); $i++) { array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $eligibleStructureForPayment[$i]->fssm_amount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . 0.0 . "/-", 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . $eligibleStructureForPayment[$i]->fssm_amount . "/-", 'fssm_due_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'paying_for_year_sem' => $eligibleStructureForPayment[$i]->fssm_semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => array(), 'is_field_enabled' => TRUE, 'is_first_payment' => TRUE )); } } else { $error = "Fee Has Not Been Setup For This Course, Session & Semester/Year. Please Ask Admin To Setup Fee Details."; } } else { $allPaidFeeDetails = $this->FeeManagement->getAllPaidFeeDetailsBy($student_info->tspi_id)->result(); $firstPaidSemesterOrYear = $allPaidFeeDetails[0]->fcm_semester; $cousellingFeeInfo = $this->FeeManagement->getPaidCouncellingFeeDetailsByStudent($student_info->tspi_id)->result(); $ifCounsellingFeeAdjusted = FALSE; for ($semester = $firstPaidSemesterOrYear; $semester <= $totalSemestersOrYears; $semester++) { $eligibleStructureForPayment = $this->FeeManagement->getFeeStructureOfStudentBy($student_info->tspi_id, $semester)->result(); $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsBy($student_info->tspi_id, $semester)->result(); if (sizeof($eligibleStructureForPayment)) { for ($i = 0; $i < sizeof($eligibleStructureForPayment); $i++) { $paidFeeInfoByStructure = $this->FeeManagement->getPaidFeeDetailsByStructure($student_info->tspi_id, $semester, $eligibleStructureForPayment[$i]->fssm_id)->result(); if (sizeof($paidFeeInfoByStructure)) { $paidAmount = 0.0; for ($j = 0; $j < sizeof($paidFeeInfoByStructure); $j++) { $paidAmount += $paidFeeInfoByStructure[$j]->fcm_amount; } $applicableAmount = $eligibleStructureForPayment[$i]->fssm_amount; /* C.F. Adjustment */ $settlement = ""; if ($ifCounsellingFeeAdjusted == FALSE && $eligibleStructureForPayment[$i]->fhm_type == "R" && sizeof($cousellingFeeInfo)) { if (($paidAmount + $cousellingFeeInfo[0]->fcnm_amount) <= $applicableAmount) { $paidAmount += $cousellingFeeInfo[0]->fcnm_amount; $settlement = " (<i class='fa fa-inr'></i>" . $cousellingFeeInfo[0]->fcnm_amount . " C.F. Adj.)"; $ifCounsellingFeeAdjusted = TRUE; } } /* C.F. Adjustment */ if ($paidAmount == 0.0) { array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $applicableAmount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-", 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($applicableAmount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($applicableAmount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => TRUE, 'is_first_payment' => FALSE )); } else if ($paidAmount < $applicableAmount) { array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $applicableAmount . "/-", 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-" . $settlement, 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($applicableAmount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($applicableAmount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => (round(($applicableAmount - $paidAmount), 2) == 0) ? FALSE : TRUE, 'is_first_payment' => FALSE )); } else { array_push($alreadyPaidFee, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $applicableAmount . "/-", 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-" . $settlement, 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($applicableAmount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($applicableAmount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => (round(($applicableAmount - $paidAmount), 2) <= 0) ? FALSE : TRUE, 'is_first_payment' => FALSE )); } } else { $paidAmount = 0.0; if ($eligibleStructureForPayment[$i]->fhm_type == "R" && $ifCounsellingFeeAdjusted == FALSE) { if (sizeof($cousellingFeeInfo)) { $paidAmount = $cousellingFeeInfo[0]->fcnm_amount; } } array_push($feeInfo, array( 'fhm_id' => $eligibleStructureForPayment[$i]->fhm_id, 'fssm_id' => $eligibleStructureForPayment[$i]->fssm_id, 'fhm_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_name), 'fhm_short_name' => stripslashes($eligibleStructureForPayment[$i]->fhm_short_name), 'fhm_type' => $eligibleStructureForPayment[$i]->fhm_type, 'fhm_calculation' => $eligibleStructureForPayment[$i]->fhm_calculation, 'fssm_amount' => "<i class='fa fa-inr'></i> " . $eligibleStructureForPayment[$i]->fssm_amount . "/-", 'fssm_paid_amount' => "<i class='fa fa-inr'></i> " . $paidAmount . "/-", 'fssm_amount_hidden' => $eligibleStructureForPayment[$i]->fssm_amount, 'fssm_due_amount' => "<i class='fa fa-inr'></i> " . round(($eligibleStructureForPayment[$i]->fssm_amount - $paidAmount), 2) . "/-", 'fssm_due_amount_hidden' => round(($eligibleStructureForPayment[$i]->fssm_amount - $paidAmount), 2), 'paying_for_year_sem' => $semester, 'course_time_type' => $timeMgmtFlag, 'counselling_fee_info' => $cousellingFeeInfo, 'is_field_enabled' => TRUE, 'is_first_payment' => FALSE )); } } } else { $error = "Next Due Fees Has Not Been Setup. Please Ask Admin To Setup Fee Details."; break; } } } } else { $error = "No Student Data Found Against The Entered Form No./Enrl. No./Roll No."; } } else { $this->session->set_flashdata('errorMessage', "Enter Form No./Enrl. No./Roll No. Of Student."); $studentData = array(); $feeInfo = array(); } } $finalArray = array(); for ($i = 0; $i < sizeof($alreadyPaidFee); $i++) { array_push($finalArray, $alreadyPaidFee[$i]); } for ($i = 0; $i < sizeof($feeInfo); $i++) { array_push($finalArray, $feeInfo[$i]); } $viewData['error'] = $error; $viewData['studentInfo'] = $studentData; $viewData['feeInfo'] = $finalArray; $viewData['sessions'] = $this->SessionManagement->getNonDeletedActiveSessions(array('C', 'N'))->result(); $viewData['feeModes'] = $this->FeeManagement->getNonDeletedActiveFeeModes()->result(); $this->load->view('admin/fee/collectFee', $viewData); } else { redirect("admin/"); } } public function saveFeeAndGenerateReceipt() { if ($this->sessionvalidator->isLoggedIn()) { $studentInfo = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy(trim($this->input->post('tspi_id')))->result()[0]; $studentCurrentSemesterInfo = $this->StudentManagement->getStudentCurrentSectionSemesterInfoBy($studentInfo->tspi_id)->result(); $councellingFeeInfo = array(); /* Handling Councelling Fee */ if ($this->input->post('paidCouncellingFee') != NULL) { $councellingFeeAmt = $this->input->post('councellingFeeAmt'); $councellingFeeMode = $this->input->post('councellingFeeMode'); $councellingFeeRefNo = $this->input->post('councellingChDDTxnNRFN'); $councellingFeeDate = date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('councellingFeePaymentDate')))); $councellingFeeInfo = array( 'fcnm_amount' => $councellingFeeAmt, 'fcnm_mode' => $councellingFeeMode, 'fcnm_ref_no' => $councellingFeeRefNo, 'fcnm_date' => $councellingFeeDate, 'frm_id' => '', 'tspi_id' => trim($this->input->post('tspi_id')), 'fcnm_added_on' => date("Y-m-d H:i:s"), 'fcnm_added_by' => $this->session->userdata("adminData")["smember_id"], 'fcnm_updated_on' => date("Y-m-d H:i:s"), 'fcnm_updated_by' => $this->session->userdata("adminData")["smember_id"] ); } /* Handling Councelling Fee */ /* Handling Compulsory Fee Against The Selected Heads */ $collectionInfo = array(); $partPaymentInfo = array(); $fssmIds = $this->input->post("selectedFssmIds"); if (is_array($fssmIds) || is_object($fssmIds)) { foreach ($fssmIds as $fssmId) { $valueOfI = $this->input->post("fssm" . $fssmId); array_push($collectionInfo, array( 'fcm_txn_id_ref_dd_ch_no' => trim($this->input->post('chDDTxnNRFN')), 'fcm_txn_id_ref_dd_ch_date' => date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('chDDNEFTDate')))), 'fcm_bank_name' => addslashes(trim($this->input->post('bankName'))), 'fcm_semester' => $this->input->post("payingForSemOrYear[$fssmId]"), 'fcm_amount' => $this->input->post("submittedAmt[$valueOfI]"), 'session_id' => $this->input->post("sessions[$fssmId]"), 'fcm_entry_on' => date("Y-m-d H:i:s"), 'tspi_id' => trim($this->input->post('tspi_id')), 'fssm_id' => $fssmId, 'fmm_id' => trim($this->input->post('feeMode')), 'frm_id' => '' )); array_push($partPaymentInfo, array( 'fssm_id' => $fssmId, 'is_part_payment' => ($this->input->post("submittedAmt[$valueOfI]") < $this->input->post("fssm_amounts[$fssmId]")) ? true : false )); } } /* Handling Compulsory Fee Against The Selected Heads */ /* Handling Fee Receipt Info */ $newFeeReceiptInfo = array( 'frm_receipt_date' => date("Y-m-d"), 'frm_receipt_no' => '', 'frm_total_amount' => trim($this->input->post("totalFeeCollected")), 'frm_remarks' => addslashes(trim($this->input->post('remarks'))), 'frm_title' => addslashes(trim($this->input->post('receiptTitle'))), 'frm_generated_on' => date("Y-m-d H:i:s"), 'frm_generated_by' => $this->session->userdata("adminData")["smember_id"], 'frm_updated_on' => date("Y-m-d H:i:s"), 'frm_updated_by' => $this->session->userdata("adminData")["smember_id"] ); $newStudentSectionSemesterAllotmentInfo = array(); $studentStatusUpdate = array(); $isFirstPayment = trim($this->input->post('isFirstPayment')); if ($isFirstPayment) { $newStudentSectionSemesterAllotmentInfo = array( 'tsssi_section' => 'NA', 'tsssi_semester' => ($studentInfo->tcsm_course_type == "Regular") ? "1" : "3", 'tsssi_updated_on' => date("Y-m-d H:i:s"), 'tsssi_updated_by' => $this->session->userdata("adminData")["smember_id"], 'tspi_id' => trim($this->input->post('tspi_id')) ); $studentStatusUpdate = array( 'tspi_id' => trim($this->input->post('tspi_id')), 'tspi_status' => 'CE', 'tspi_updated_on' => date("Y-m-d H:i:s"), 'tspi_updated_by' => $this->session->userdata("adminData")["smember_id"] ); } $this->db->trans_start(); $frm_id = $this->FeeManagement->createNewReceipt($newFeeReceiptInfo); $receiptNumber = date('Ymd') . "/" . $frm_id; $updateReceiptInfo = array( 'frm_id' => $frm_id, 'frm_receipt_no' => $receiptNumber, ); $this->FeeManagement->updateFeeReceiptInfo($updateReceiptInfo); for ($i = 0; $i < sizeof($collectionInfo); $i++) { $collectionInfo[$i]['frm_id'] = $frm_id; } $this->FeeManagement->createFeeCollectionInfoMulti($collectionInfo); if (sizeof($councellingFeeInfo)) { $councellingFeeInfo['frm_id'] = $frm_id; $this->FeeManagement->createNewCouncellingFee($councellingFeeInfo); } if (!sizeof($studentCurrentSemesterInfo)) { if (sizeof($newStudentSectionSemesterAllotmentInfo)) { $this->StudentManagement->createNewStudentSectionSemesterInfo($newStudentSectionSemesterAllotmentInfo); } if (sizeof($studentStatusUpdate)) { $this->StudentManagement->updateStudentPersonalInfo($studentStatusUpdate); } } $this->db->trans_complete(); /* Handling Fee Receipt Info & Making Entries */ /* Setting Data For Fee Receipt */ $chqDDTxnNEFTRefNo = trim($this->input->post('chDDTxnNRFN')); $chqDDTxnNEFTDate = date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('chDDNEFTDate')))); $totalPaid = trim($this->input->post("totalFeeCollected")); $paymentModeInfo = $this->FeeManagement->getFeeModeInfoBy(trim($this->input->post('feeMode')))->result()[0]; $councellingFeePaymentModeInfo = ""; $councellingFeeDate = ""; $councellingFeeAmt = ""; $coucellingRefNo = ""; if (sizeof($councellingFeeInfo)) { $councellingFeePaymentModeInfo = $this->FeeManagement->getFeeModeInfoBy(trim($this->input->post('councellingFeeMode')))->result()[0]; $councellingFeeDate = date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('councellingFeePaymentDate')))); $councellingFeeAmt = trim($this->input->post('councellingFeeAmt')); $coucellingRefNo = trim($this->input->post('councellingChDDTxnNRFN')); } $collectionInfoDetails = array(); for ($i = 0; $i < sizeof($collectionInfo); $i++) { $feeStructureInfo = $this->FeeManagement->getFeeStructureDetailsOfStudentById($collectionInfo[$i]['fssm_id'])->result()[0]; array_push($collectionInfoDetails, array( 'fee_head' => stripslashes($feeStructureInfo->fhm_short_name), 'amount_paid' => "INR(<i class='fa fa-inr'></i>) " . $collectionInfo[$i]['fcm_amount'] . "/-", 'sem_or_year' => $collectionInfo[$i]['fcm_semester'], 'is_part_payment' => ($partPaymentInfo[$i]['is_part_payment']) ? "(Partial Payment)" : "" )); } $receiptData = array( 'receipt_title' => addslashes(trim($this->input->post('receiptTitle'))), 'receipt_number' => $receiptNumber, 'receipt_date' => date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('feeReceiptDate')))), 'student_details' => $studentInfo, 'fee_mode' => stripslashes($paymentModeInfo->fmm_short_name), 'chqDDTxnNEFTRefNo' => $chqDDTxnNEFTRefNo, 'chqDDTxnNEFTDate' => (!strcasecmp(stripslashes($paymentModeInfo->fmm_short_name), "cash")) ? "NA" : $chqDDTxnNEFTDate, 'total_paid' => $totalPaid, 'total_paid_in_words' => $this->denominator->convertToWords($totalPaid), 'councelling_fee' => $councellingFeeInfo, 'councelling_amount' => $councellingFeeAmt, 'councelling_fee_mode' => (is_object($councellingFeePaymentModeInfo)) ? stripslashes($councellingFeePaymentModeInfo->fmm_short_name) : "", 'councelling_fee_ref_no' => $coucellingRefNo, 'councelling_fee_date' => $councellingFeeDate, 'collection_info' => $collectionInfoDetails, 'is_old_fee' => FALSE, 'is_cancelled' => FALSE ); $this->session->set_flashdata('successMessage', 'Fee Collection Details Saved Successfully.'); $this->load->view("admin/fee/receipt", $receiptData); } else { redirect("admin/"); } } public function showReceipt($frm_id) { if ($this->sessionvalidator->isLoggedIn()) { $fee_collection_details = array(); $receiptInfo = $this->FeeManagement->getFeeReceiptInfoById($frm_id)->result()[0]; $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsByReceipt($frm_id)->result(); $studentInfo = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy($paidFeeInfo[0]->tspi_id)->result()[0]; $councellingFeeInfo = $this->FeeManagement->getPaidCouncellingFeeDetailsByStudent($studentInfo->tspi_id)->result(); $chqDDTxnNEFTRefNo = stripslashes($paidFeeInfo[0]->fcm_txn_id_ref_dd_ch_no); $chqDDTxnNEFTDate = date("d-m-Y", strtotime($paidFeeInfo[0]->fcm_txn_id_ref_dd_ch_date)); $totalPaid = $receiptInfo->frm_total_amount; $paymentMode = stripslashes($paidFeeInfo[0]->fmm_short_name); for ($rFee = 0; $rFee < sizeof($paidFeeInfo); $rFee++) { $feeStructureInfo = $this->FeeManagement->getFeeStructureDetailsOfStudentById($paidFeeInfo[$rFee]->fssm_id)->result()[0]; array_push($fee_collection_details, array( 'fee_head' => $feeStructureInfo->fhm_name, 'amount_paid' => "INR(<i class='fa fa-inr'></i>) " . $paidFeeInfo[$rFee]->fcm_amount . "/-", 'sem_or_year' => $paidFeeInfo[$rFee]->fcm_semester, 'is_part_payment' => ($paidFeeInfo[$rFee]->fcm_amount < $paidFeeInfo[$rFee]->fssm_amount) ? "(Partial Payment)" : "" )); } $receiptData = array( 'receipt_title' => stripslashes($receiptInfo->frm_title), 'receipt_number' => stripslashes($receiptInfo->frm_receipt_no), 'receipt_date' => date("d-m-Y", strtotime($receiptInfo->frm_receipt_date)), 'fee_details' => $fee_collection_details, 'student_details' => $studentInfo, 'fee_mode' => $paymentMode, 'chqDDTxnNEFTRefNo' => $chqDDTxnNEFTRefNo, 'chqDDTxnNEFTDate' => (!strcasecmp($paymentMode, "cash")) ? "NA" : $chqDDTxnNEFTDate, 'total_paid' => $totalPaid, 'total_paid_in_words' => $this->denominator->convertToWords($totalPaid), 'councelling_fee' => $councellingFeeInfo, 'councelling_amount' => (sizeof($councellingFeeInfo)) ? $councellingFeeInfo[0]->fcnm_amount : "-", 'councelling_fee_mode' => (sizeof($councellingFeeInfo)) ? stripslashes($councellingFeeInfo[0]->fmm_short_name) : "-", 'councelling_fee_ref_no' => (sizeof($councellingFeeInfo)) ? stripslashes($councellingFeeInfo[0]->fcnm_ref_no) : "-", 'councelling_fee_date' => (sizeof($councellingFeeInfo)) ? date("d-m-Y", strtotime($councellingFeeInfo[0]->fcnm_date)) : "-", 'collection_info' => $fee_collection_details, 'is_old_fee' => 'S', 'is_cancelled' => ($receiptInfo->frm_status == "C") ? TRUE : FALSE ); $this->load->view("admin/fee/receipt", $receiptData); } else { redirect("admin/"); } } public function receiptManagement() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $selectedPattern = ""; $selectedSession = ""; $selectedEntryType = ""; $filteredRecords = array(); if (isset($_POST['filterSubmitBtn'])) { $filterPattern = $this->input->post('filterPattern'); $selectedPattern = $filterPattern; if ($filterPattern != "") { if ($filterPattern == 'FNW') { $reqFormEnrllRollNumber = trim($this->input->post('stuFormEnrlRoll')); if ($reqFormEnrllRollNumber == "") { $this->session->set_flashdata('errorMessage', "Enter Form Number/Enrl. No./Roll Number To Search."); } else { $this->session->set_flashdata('errorMessage', NULL); $filteredRecords = $this->FeeManagement->getFeeReceiptInfoBy("", $reqFormEnrllRollNumber, "", "", "")->result(); } } else if ($filterPattern == 'RNW') { $reqReceiptNumber = trim($this->input->post('receiptNo')); if ($reqReceiptNumber == "") { $this->session->set_flashdata('errorMessage', "Enter Receipt Number To Search."); } else { $this->session->set_flashdata('errorMessage', NULL); $filteredRecords = $this->FeeManagement->getFeeReceiptInfoBy($reqReceiptNumber, "", "", "", "")->result(); } } else { $reqCourse = $this->input->post('stuCourse'); if ($reqCourse == "") { $this->session->set_flashdata('errorMessage', "Please Select Course To Search Receipt."); } else { $selectedSession = $this->input->post('stuSession'); $selectedEntryType = $this->input->post('stuEntryType'); $filteredRecords = $this->FeeManagement->getFeeReceiptInfoBy("", "", $reqCourse, trim($selectedSession), trim($selectedEntryType))->result(); } } } else { $filteredRecords = array(); } } $viewData['branches'] = $this->BranchManagement->getAllNonDeletedActiveBrances()->result(); $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['selectedPattern'] = $selectedPattern; $viewData['selectedSession'] = $selectedSession; $viewData['selectedEntryType'] = $selectedEntryType; $viewData['filteredRecords'] = $filteredRecords; $this->load->view("admin/fee/viewReceipts", $viewData); } else { redirect("admin/"); } } public function cfReimbursement() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $filteredRecords = array(); $message = ""; if (isset($_POST['filterSubmitBtn'])) { $selectedCollectedForSession = trim($this->input->post("collectionForSession")); $selectedCourse = trim($this->input->post("stuCourse")); $filteredRecords = $this->FeeManagement->getReimbursementCounsellingFeeReport($selectedCollectedForSession, $selectedCourse, 'A', '')->result(); $message = (sizeof($filteredRecords)) ? "" : "There Is No Pending Fee To Update For Reimbursement."; } $viewData['collectionSessions'] = $this->SessionManagement->getNonDeletedActiveSessions(array('C', 'N'))->result(); $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['feeModes'] = $this->FeeManagement->getNonDeletedActiveFeeModes()->result(); $viewData['filteredRecords'] = $filteredRecords; $viewData['error'] = $message; $this->load->view("admin/fee/updateReimbursment", $viewData); } else { redirect("admin/"); } } public function saveReimbursementReceipt() { if ($this->sessionvalidator->isLoggedIn()) { $selectedReceipts = $this->input->post('selectedReceipts'); $toUpdateReimbursement = array(); for ($i = 0; $i < sizeof($selectedReceipts); $i++) { array_push($toUpdateReimbursement, array( 'fcnm_id' => $selectedReceipts[$i], 'fcnm_rem_date' => (trim($this->input->post("rmbDate[$selectedReceipts[$i]]")) == "") ? NULL : date("Y-m-d", strtotime(str_replace('/', '-', trim($this->input->post("rmbDate[$selectedReceipts[$i]]"))))), 'fcnm_rem_ref_no' => (trim($this->input->post("rmbDate[$selectedReceipts[$i]]")) == "") ? NULL : addslashes(trim($this->input->post("rmbRefNo[$selectedReceipts[$i]]"))), 'fcnm_rem_mode' => (trim($this->input->post("rmbDate[$selectedReceipts[$i]]")) == "") ? NULL : trim($this->input->post("rmbMode[$selectedReceipts[$i]]")), 'fcnm_updated_on' => date("Y-m-d H:i:s"), 'fcnm_updated_by' => $this->session->userdata("adminData")["smember_id"] )); } if (sizeof($toUpdateReimbursement)) { $this->FeeManagement->updateCounsellingFeeInfoMulti($toUpdateReimbursement); } $this->db->trans_complete(); $this->session->set_flashdata('successMessage', 'Fee Reimbursement Data Updated Successfully.'); redirect("admin/Fee/cfReimbursement"); } else { redirect("admin/"); } } public function cancelReceipt() { if ($this->sessionvalidator->isLoggedIn()) { $frm_id = trim($this->input->post('modReceiptId')); $tspi_id = trim($this->input->post('modStudentId')); $cancel_reason_flag = trim($this->input->post('modCancelReasonFlag')); $cancel_reason = addslashes(trim($this->input->post('modReceiptCancelReason'))); $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsByReceipt($frm_id)->result()[0]; $paidForSemesterOrYearOfReceipt = $paidFeeInfo->fcm_semester; $student_info = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy($tspi_id)->result()[0]; $studentCurrentSemesterInfo = $this->StudentManagement->getStudentCurrentSectionSemesterInfoBy($tspi_id)->result(); $studentCurrentSemesterOrYear = (sizeof($studentCurrentSemesterInfo)) ? $studentCurrentSemesterInfo[0]->tsssi_semester : $student_info->tcsm_sem_start_from; if ($studentCurrentSemesterOrYear <= $paidForSemesterOrYearOfReceipt) { $receiptUpdateData = array( 'frm_id' => $frm_id, 'frm_status' => 'C', 'frm_cancel_flag' => $cancel_reason_flag, 'frm_updated_on' => date("Y-m-d H:i:s"), 'frm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'frm_cancel_reason' => $cancel_reason ); if ($this->FeeManagement->updateFeeReceiptInfo($receiptUpdateData)) { $counsellingFeeInfo = $this->FeeManagement->getPaidCouncellingFeeDetailsBy($frm_id)->result(); if (sizeof($counsellingFeeInfo)) { $cousellingFeeUpdateData = array( 'fcnm_id' => $counsellingFeeInfo[0]->fcnm_id, 'fcnm_updated_on' => date("Y-m-d H:i:s"), 'fcnm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'fcnm_status' => 'C' ); $this->FeeManagement->updateCounsellingFeeInfo($cousellingFeeUpdateData); } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'if_cancelled' => 1, 'message' => "Fee Receipt Cancelled Successfully." ); } else { $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'if_cancelled' => 0, 'message' => "An Error Occured While Cancelling This Receipt. Try Later." ); } } else { $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'if_cancelled' => -1, 'message' => "This Receipt Can No Be Cancelled As It Belongs To Previous Year/Semester. Only Current Or Beyond Year/Semester Receipt Can Be Cancelled." ); } echo json_encode($responseData); } else { redirect("admin/"); } } public function getReceiptFullInfo() { $frm_id = $this->input->post('frm_id'); $receiptInfo = $this->FeeManagement->getFeeReceiptInfoById($frm_id)->result()[0]; $paidFeeInfo = $this->FeeManagement->getPaidFeeDetailsByReceipt($frm_id)->result(); $counsellingFeeInfo = $this->FeeManagement->getPaidCouncellingFeeDetailsBy($frm_id)->result(); $feeDetails = array(); $feeMode = ""; $feeChqDDNEFTRefNo = ""; $feeChqDDNEFTDate = ""; $tspiId = ""; $cousellingFeeSubmitted = "No"; $counsellingFeeAmt = "<i class='fa fa-inr'></i> 0.0/-"; $counsellingFeeMode = "-"; $counsellingFeeRefNo = "-"; $counsellingFeeDate = "-"; for ($i = 0; $i < sizeof($paidFeeInfo); $i++) { array_push($feeDetails, array( 'fhm_name' => stripslashes($paidFeeInfo[$i]->fhm_name), 'fhm_type' => ($paidFeeInfo[$i]->fhm_type == "O") ? "One-Time" : (($paidFeeInfo[$i]->fhm_type == "R") ? "Recurring" : "Fine"), 'fcm_amount' => "<i class='fa fa-inr'></i> " . $paidFeeInfo[$i]->fcm_amount . "/- INR", 'fcm_sem_year' => $paidFeeInfo[$i]->fcm_semester, 'fcm_for_session' => stripslashes($paidFeeInfo[$i]->session_name) )); $feeChqDDNEFTRefNo = stripslashes($paidFeeInfo[$i]->fcm_txn_id_ref_dd_ch_no); $feeChqDDNEFTDate = ($paidFeeInfo[$i]->fcm_txn_id_ref_dd_ch_date == "1970-01-01") ? "Invalid Date" : date('d-m-Y', strtotime($paidFeeInfo[$i]->fcm_txn_id_ref_dd_ch_date)); $feeMode = stripslashes($paidFeeInfo[$i]->fmm_short_name); $tspiId = $paidFeeInfo[$i]->tspi_id; } if (sizeof($counsellingFeeInfo)) { $cousellingFeeSubmitted = "Yes"; $counsellingFeeAmt = "<i class='fa fa-inr'></i> " . $counsellingFeeInfo[0]->fcnm_amount . "/-"; $counsellingFeeMode = stripslashes($counsellingFeeInfo[0]->fmm_short_name); $counsellingFeeRefNo = stripslashes($counsellingFeeInfo[0]->fcnm_ref_no); $counsellingFeeDate = date('d-m-Y', strtotime($counsellingFeeInfo[0]->fcnm_date)); } $student_info = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy($tspiId)->result()[0]; $gender = ""; if ($student_info->tspi_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($student_info->tspi_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'frm_id' => $receiptInfo->frm_id, 'frm_receipt_no' => stripslashes($receiptInfo->frm_receipt_no), 'frm_status' => ($receiptInfo->frm_status == "A") ? "No" : "Yes", 'frm_receipt_date' => ($receiptInfo->frm_receipt_date == "1970-01-01") ? "Invalid Date" : date('d-m-Y', strtotime($receiptInfo->frm_receipt_date)), 'frm_total_amount' => "<i class='fa fa-inr'></i> " . $receiptInfo->frm_total_amount . "/- INR", 'frm_mode' => $feeMode, 'frm_chqDDNEFTRefNo' => $feeChqDDNEFTRefNo, 'frm_chqDDNEFTDate' => $feeChqDDNEFTDate, 'frm_fee_details' => $feeDetails, 'frm_remarks' => stripslashes($receiptInfo->frm_remarks), 'frm_generated_by' => stripslashes($receiptInfo->addedByAdmin) . " On " . date("d-m-Y h:i:s A", strtotime($receiptInfo->frm_generated_on)), 'frm_cancelled_by' => ($receiptInfo->frm_status == "C") ? stripslashes($receiptInfo->updatedByAdmin) . " On " . date("d-m-Y h:i:s A", strtotime($receiptInfo->frm_updated_on)) : "-", 'frm_counselling_fee' => $cousellingFeeSubmitted, 'frm_counselling_fee_amt' => $counsellingFeeAmt, 'frm_counselling_fee_mode' => $counsellingFeeMode, 'frm_counselling_fee_ref_no' => $counsellingFeeRefNo, 'frm_counselling_fee_date' => $counsellingFeeDate, 'stu_form_no' => stripslashes($student_info->tspi_form_no), 'stu_enrollment_no' => ($student_info->tspi_form_no == $student_info->tspi_enrollment_no) ? "-" : stripslashes($student_info->tspi_enrollment_no), 'stu_roll_no' => ($student_info->tspi_form_no == $student_info->tspi_rollNumber) ? "-" : stripslashes($student_info->tspi_rollNumber), 'stu_name' => stripslashes($student_info->tspi_name), 'stu_course' => stripslashes($student_info->course_name), 'stu_entry_type' => stripslashes($student_info->tcsm_course_type), 'stu_session' => stripslashes($student_info->session_name), 'stu_batch' => explode('-', $student_info->session_name)[0] . "-" . $student_info->session_end_year, 'stu_gender' => $gender, 'stu_dob' => date('d-m-Y', strtotime($student_info->tspi_dob)), 'stu_mobile' => $student_info->tspi_mobile ); echo json_encode($responseData); } /* Request Hanlder For Hostel Fee Collection */ public function collectOptionalFee() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $error = ""; $studentData = array(); $optionalFeeInfo = array(); $viewData['feeDetail'] = array(); $viewData['paidFee'] = array(); $amount = 0; if (isset($_POST['fetchStudentInfo'])) { $formEnrlRollNo = addslashes(trim($this->input->post('formEnrlRollNo'))); if ($formEnrlRollNo != "") { $this->session->set_flashdata('errorMessage', NULL); $studentData = $this->StudentManagement->getStudentInfoByFormEnrollmentOrRollNo($formEnrlRollNo)->result(); $viewData['paidFee'] = $this->FeeManagement->getAllPaidFeesByFormNumber($formEnrlRollNo)->result(); $viewData['feeDetail'] = $this->FeeManagement->getPaidAndHeadFees($formEnrlRollNo)->result(); for ($i = 0; $i < sizeof($viewData['paidFee']); $i++) { $amount = $amount + $viewData['paidFee'][$i]->fcom_amount; } $viewData['paidFee'] = $amount; if (sizeof($studentData)) { $student_info = $studentData[0]; $studentFatherName = $this->StudentManagement->getStudentFatherInfoBy($student_info->tspi_id)->result()[0]->tfbi_name; $studentCurrentSemesterInfo = $this->StudentManagement->getStudentCurrentSectionSemesterInfoBy($student_info->tspi_id)->result(); $gender = ""; $studentCurrentSemesterOrYear = ""; $semesterOrYearToShow = ""; $entryType = stripslashes($student_info->tcsm_course_type); if ($student_info->tspi_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($student_info->tspi_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } if (sizeof($studentCurrentSemesterInfo)) { $studentCurrentSemesterOrYear = $studentCurrentSemesterInfo[0]->tsssi_semester; $semesterOrYearToShow = $studentCurrentSemesterOrYear; } else { $studentCurrentSemesterOrYear = $student_info->tcsm_sem_start_from; $semesterOrYearToShow = "New Admission"; } $studentData = array( 'stu_id' => $student_info->tspi_id, 'stu_name' => stripslashes($student_info->tspi_name), 'stu_father_name' => stripslashes($studentFatherName), 'stu_gender' => $gender, 'stu_form_no' => stripslashes($student_info->tspi_form_no), 'stu_roll_no' => ($student_info->tspi_form_no == $student_info->tspi_rollNumber) ? "-" : stripslashes($student_info->tspi_rollNumber), 'stu_enrollment_no' => ($student_info->tspi_form_no == $student_info->tspi_enrollment_no) ? "-" : stripslashes($student_info->tspi_enrollment_no), 'stu_dob' => date('d-m-Y', strtotime($student_info->tspi_dob)), 'stu_course' => stripslashes($student_info->course_name), 'stu_entry_type' => $entryType, 'stu_session' => stripslashes($student_info->session_name), 'stu_batch' => explode('-', $student_info->session_name)[0] . "-" . $student_info->session_end_year, 'stu_entry_type' => stripslashes($student_info->tcsm_course_type), 'stu_photograph' => base_url("assets/admin/uploads/studentData/") . $student_info->studentPhoto, 'stu_sign' => base_url("assets/admin/uploads/studentData/") . $student_info->studentSign, 'stu_current_semester' => $semesterOrYearToShow ); } else { $error = "No Student Data Found Against The Entered Form No./Enrl. No./Roll No."; } $optionalFeeInfo = $this->FeeManagement->getNonDeletedOptionalFeeHeadsBy('H')->result(); } else { $this->session->set_flashdata('errorMessage', "Enter Form No./Enrl. No./Roll No. Of Student."); $studentData = array(); $optionalFeeInfo = array(); } } $viewData['error'] = $error; $viewData['studentInfo'] = $studentData; $viewData['optionalFeeInfo'] = (sizeof($optionalFeeInfo)) ? $optionalFeeInfo : array(); $viewData['sessions'] = $this->SessionManagement->getNonDeletedActiveSessions(array('C', 'N'))->result(); $viewData['feeModes'] = $this->FeeManagement->getNonDeletedActiveFeeModes()->result(); $this->load->view('admin/hostel/collectOptionalFee', $viewData); } else { redirect("admin/"); } } public function saveOptionalFeeAndGenerateReceipt() { if ($this->sessionvalidator->isLoggedIn()) { $feeAmount = $this->input->post("amountNeedToPay"); $studentStatusUpdate = array(); $newFeeReceiptInfo = array( 'from_receipt_date' => date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('feeReceiptDate')))), 'from_receipt_no' => '', 'session_id' => trim($this->input->post("session")), 'from_total_amount' => trim($feeAmount), 'from_generated_on' => date("Y-m-d H:i:s"), 'from_generated_by' => $this->session->userdata("adminData")["smember_id"], 'from_updated_on' => date("Y-m-d H:i:s"), 'from_updated_by' => $this->session->userdata("adminData")["smember_id"] ); $this->db->trans_start(); $from_id = $this->FeeManagement->createNewOptionalReceipt($newFeeReceiptInfo); $receiptNumber = "H" . date("Ymd") . "/" . $from_id; $updateReceiptInfo = array( 'from_id' => $from_id, 'from_receipt_no' => $receiptNumber, ); $this->FeeManagement->updateOptionalFeeReceiptInfo($updateReceiptInfo); $submittedFee = array( 'fcom_txn_id_ref_dd_ch_no' => addslashes(trim($this->input->post('chDDTxnNRFN'))), 'fcom_txn_id_ref_dd_ch_date' => date("Y-m-d", strtotime(str_replace('/', '-', $this->input->post('chDDNEFTDate')))), 'fcom_semester' => trim($this->input->post('payingForSemOrYear')), 'fcom_amount' => trim($feeAmount), 'fcom_entry_on' => date("Y-m-d H:i:s"), 'tspi_id' => trim($this->input->post('tspi_id')), 'fmm_id' => trim($this->input->post('feeMode')), 'fsom_id' => trim($this->input->post('fsom_id')), 'from_id' => $from_id ); $this->FeeManagement->createOptionalFeeCollectionInfo($submittedFee); if (sizeof($studentStatusUpdate)) { $this->StudentManagement->updateStudentPersonalInfo($studentStatusUpdate); } $this->db->trans_complete(); /* Setting Data For Fee Receipt */ $chqDDTxnNEFTRefNo = trim($this->input->post('chDDTxnNRFN')); $chqDDTxnNEFTDate = date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('chDDNEFTDate')))); //$paidForSemOrYear = trim($this->input->post('payingForSemOrYear')); $totalPaid = $feeAmount; $paymentModeInfo = $this->FeeManagement->getFeeModeInfoBy(trim($this->input->post('feeMode')))->result(); $studentInfo = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy(trim($this->input->post('tspi_id')))->result(); //$feeStructureInfo = $this->FeeManagement->getOptionalFeeStructureInfoById(trim($this->input->post('fsom_id')))->result(); $sessionData = $this->SessionManagement->getSessionInfoBy(trim($this->input->post("session")))->result(); $receiptData = array( 'receipt_number' => $receiptNumber, 'receipt_date' => date("d-m-Y", strtotime(str_replace('/', '-', $this->input->post('feeReceiptDate')))), //'fee_head' => $feeStructureInfo, 'amount_paid' => $feeAmount, 'student_details' => $studentInfo[0], 'fee_mode' => $paymentModeInfo[0], 'chqDDTxnNEFTRefNo' => $chqDDTxnNEFTRefNo, 'chqDDTxnNEFTDate' => $chqDDTxnNEFTDate, 'session' => $sessionData[0]->session_name, 'total_paid' => $totalPaid, 'is_old_fee' => false ); $this->session->set_flashdata('successMessage', 'Fee Collection Details Saved Successfully.'); $this->load->view("admin/hostel/receipt", $receiptData); } else { redirect("admin/"); } } /* Request Handler For Hostel Fee Receipt */ public function showHostelFeeReceipt($from_id) { if ($this->sessionvalidator->isLoggedIn()) { $receiptInfo = $this->FeeManagement->getHostelFeeReceiptInfoById($from_id)->result()[0]; $paidFeeInfo = $this->FeeManagement->getPaidHostelFeeDetailsByReceipt($from_id)->result(); $studentInfo = $this->StudentManagement->getStudentPersonalInfoAndPhotoSignBy($paidFeeInfo[0]->tspi_id)->result()[0]; $chqDDTxnNEFTRefNo = stripslashes($paidFeeInfo[0]->fcom_txn_id_ref_dd_ch_no); $chqDDTxnNEFTDate = date("d-m-Y", strtotime($paidFeeInfo[0]->fcom_txn_id_ref_dd_ch_date)); $totalPaid = $receiptInfo->from_total_amount; $paymentMode = $paidFeeInfo[0]; $receiptData = array( 'receipt_number' => stripslashes($receiptInfo->from_receipt_no), 'receipt_date' => date("d-m-Y", strtotime($receiptInfo->from_receipt_date)), 'student_details' => $studentInfo, 'fee_mode' => $paymentMode, 'chqDDTxnNEFTRefNo' => $chqDDTxnNEFTRefNo, 'chqDDTxnNEFTDate' => $chqDDTxnNEFTDate, 'total_paid' => $totalPaid, 'session' => $paidFeeInfo[0]->session_name, 'is_old_fee' => true ); $this->load->view("admin/hostel/receipt", $receiptData); } else { redirect("admin/"); } } public function optionalFeeReceiptManagement() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $selectedPattern = ""; $selectedSession = ""; $selectedEntryType = ""; $filteredRecords = array(); if (isset($_POST['filterSubmitBtn'])) { $filterPattern = $this->input->post('filterPattern'); $selectedPattern = $filterPattern; if ($filterPattern != "") { if ($filterPattern == 'FNW') { $reqFormEnrllRollNumber = trim($this->input->post('stuFormEnrlRoll')); if ($reqFormEnrllRollNumber == "") { $this->session->set_flashdata('errorMessage', "Enter Form Number/Enrl. No./Roll Number To Search."); } else { $this->session->set_flashdata('errorMessage', NULL); $filteredRecords = $this->FeeManagement->getOptionalFeeReceiptInfoBy("", $reqFormEnrllRollNumber, "", "", "")->result(); } } else if ($filterPattern == 'RNW') { $reqReceiptNumber = trim($this->input->post('receiptNo')); if ($reqReceiptNumber == "") { $this->session->set_flashdata('errorMessage', "Enter Receipt Number To Search."); } else { $this->session->set_flashdata('errorMessage', NULL); $filteredRecords = $this->FeeManagement->getOptionalFeeReceiptInfoBy($reqReceiptNumber, "", "", "", "")->result(); } } else { $reqCourse = $this->input->post('stuCourse'); if ($reqCourse == "") { $this->session->set_flashdata('errorMessage', "Please Select Course To Search Receipt."); } else { $selectedSession = $this->input->post('stuSession'); $selectedEntryType = $this->input->post('stuEntryType'); $filteredRecords = $this->FeeManagement->getOptionalFeeReceiptInfoBy("", "", $reqCourse, trim($selectedSession), trim($selectedEntryType))->result(); } } } else { $filteredRecords = array(); } } else if (isset($_POST['cancelBtn'])) { $receipts = $this->input->post("chk"); $receiptUpdateData = array(); $from_ids = 0; foreach ($receipts as $from_id) { array_push($receiptUpdateData, array( 'from_id' => $from_id, 'from_status' => 'C', 'from_updated_on' => date("Y-m-d H:i:s"), 'from_updated_by' => $this->session->userdata("adminData")["smember_id"], 'from_cancel_reason' => trim($this->input->post("cancelReason")) )); $from_ids = $from_id; } $this->db->trans_start(); $this->FeeManagement->updateOptionalFeeReceiptInfoInBulk($receiptUpdateData); $receipt_details = $this->FeeManagement->getOptionalFeeReceiptInfo($from_ids)->result(); $allotmentDetail = $this->HostelManagement->getAllotmentDetailsBy($receipt_details[0]->tspi_id, $receipt_details[0]->session_id)->result(); if (sizeof($allotmentDetail)) { $array = array( 'sha_status' => 'C', 'sha_updated_on' => date("Y-m-d H:i:s"), 'sha_updated_by' => $this->session->userdata("adminData")["smember_id"] ); $this->HostelManagement->updateRoomAllotment($array, $allotmentDetail[0]->sha_id); } $this->session->set_flashdata("successMessage", "Fee Receipt Cancelled Suucessfully."); $this->db->trans_complete(); } $viewData['branches'] = $this->BranchManagement->getAllNonDeletedActiveBrances()->result(); $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['selectedPattern'] = $selectedPattern; $viewData['selectedSession'] = $selectedSession; $viewData['selectedEntryType'] = $selectedEntryType; $viewData['filteredRecords'] = $filteredRecords; $this->load->view("admin/fee/viewOptionalFeeReceipts", $viewData); } else { redirect("admin/"); } } }