apollodec/Apollo/api/application/models/DayBook_model.php
2021-04-09 12:51:24 +05:30

1585 lines
72 KiB
PHP

<?php
/**
* Date: 11/9/17
* Time: 5:28 PM
*/
defined('BASEPATH') OR exit('No direct script access allowed');
class DayBook_model extends CI_Model
{
/*
* day book update details
* params:
* created by kdk
* */
// get income expense type lists
public function get_Income_Expense_typeState($branchId){
$this->db->select('t1.ListCode, t1.ListName');
$this->db->from(''.PICK_LIST_DETAILS. ' as t1');
$this->db->where('t1.ListGroup', 10);
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
$typeDetails = $this->db->get();
$typeStateDetails = $typeDetails->result();
// TypeName details
$this->db->select('t2.TypeName, t2.TypeID, t2.ID');
$this->db->from(''.INCOMEOUTCOMEMASTER. ' as t2');
$this->db->where('t2.IsActive', 1);
$this->db->where('t2.BranchCode', $branchId);
$typeNaDetails = $this->db->get();
$typeNameDetails = $typeNaDetails->result();
$results['typeNameStatus'] = true;
$results['typeList'] = $typeStateDetails;
$results['typeNameList'] = $typeNameDetails;
return $results;
}
public function emp_day_book_AccessChk($arr) {
$id = $arr['localUserID'];
$sql1 = "SELECT t1.FinanceModuleAccess FROM ".STAFF." as t1 LEFT JOIN ".LOGIN." as t2 ON t2.StaffID = t1.StaffID WHERE t2.id = $id";
// update branch to staff_branch table
$dayBookAccDetails = $this->db->query($sql1);
$dayBkAcesDetail = $dayBookAccDetails->result();
$result['dayBkAccessChkStatus'] = true;
$result['dayBkAccessChk_Value'] = $dayBkAcesDetail[0]->FinanceModuleAccess;
// echo $result['dayBkAccessChk_Value'];exit();
return $result;
}
// get the daybook details list
public function get_Daybook_Details_List($reqData, $reqDataBy) {
if($reqData['date'] != '' && $reqData['dateTo'] != '') {
// $this->db->select('t1.*, t2.ListName, t3.TypeName');
// $this->db->from(''.DAYBOOKMASTER. ' as t1');
// $this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
// $this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
$d = new DateTime($reqData['date']);
$dTo = new DateTime($reqData['dateTo']);
$fromDate = $d->format('Y-m-d');
$toDate = $dTo->format('Y-m-d');
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t5.Firstname as Fname,t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName , t5.Firstname as Approved_by_name ,
t7.UniversityName as UniversityName, t6.CourseName as CourseName,t7.UniversityID,t8.Lastname,t8.MobileNumber
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.CreatedBy
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
left join ".STUDENTS." as t8 on t8.StudentID = t1.StudentID
WHERE STR_TO_DATE(DATE,'%d-%m-%Y') BETWEEN '$fromDate'
AND '$toDate' AND t1.BranchCode = '$reqpayType' AND t1.IsActive ='1' ORDER BY ORDER_ID DESC";
// echo $querys;exit();
// $this->db->where(' STR_TO_DATE(t1.Date, %d-%m-%Y) >=', $fromDate);
// $this->db->where(' STR_TO_DATE(t1.Date, %d-%m-%Y) >=', $toDate);
// $this->db->where('t1.Date', $reqData['date']);
// $this->db->order_by('CreatedOn', 'DESC');
// $this->db->where('t1.BranchCode', $reqDataBy['localBranchID']);
} else {
// $this->db->select('t1.*, t2.ListName, t3.TypeName');
// $this->db->from(''.DAYBOOKMASTER. ' as t1');
// $this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
// $this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
// // $this->db->where('t1.Date', $reqData['date']);
// $this->db->order_by('CreatedOn', 'DESC');
// $this->db->where('t1.BranchCode', $reqDataBy['localBranchID']);
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t5.Firstname,t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName, t5.Firstname as Approved_by_name ,
t7.UniversityName as UniversityName, t6.CourseName as CourseName,t7.UniversityID,t8.Lastname,t8.MobileNumber
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.CreatedBy
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
left join ".STUDENTS." as t8 on t8.StudentID = t1.StudentID
WHERE t1.BranchCode = '$reqpayType' AND t1.IsActive ='1' ORDER BY ORDER_ID DESC";
}
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
$dayBookDetails = $this->db->query($querys);
$dayBookDetailsList = $dayBookDetails->result();
$results['dayBookListStatus'] = true;
$results['dayBookListDetails'] = $dayBookDetailsList;
// print_r($this->db->last_query());die;
return $results;
}
public function get_Daybookonline_Details_List($reqData, $reqDataBy) {
if($reqData['date'] != '' && $reqData['dateTo'] != '') {
// $this->db->select('t1.*, t2.ListName, t3.TypeName');
// $this->db->from(''.DAYBOOKMASTER. ' as t1');
// $this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
// $this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
$d = new DateTime($reqData['date']);
$dTo = new DateTime($reqData['dateTo']);
$fromDate = $d->format('Y-m-d');
$toDate = $dTo->format('Y-m-d');
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t5.Firstname as Fname,t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName , t5.Firstname as Approved_by_name ,
t7.UniversityName as UniversityName, t6.CourseName as CourseName,t7.UniversityID,t8.Lastname,t8.MobileNumber
FROM ".DAYBOOKMASTERONLINE." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.CreatedBy
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
left join ".STUDENTS." as t8 on t8.StudentID = t1.StudentID
WHERE STR_TO_DATE(DATE,'%d-%m-%Y') BETWEEN '$fromDate'
AND '$toDate' AND t1.BranchCode = '$reqpayType' AND t1.IsActive ='1' ORDER BY ORDER_ID DESC";
// echo $querys;exit();
// $this->db->where(' STR_TO_DATE(t1.Date, %d-%m-%Y) >=', $fromDate);
// $this->db->where(' STR_TO_DATE(t1.Date, %d-%m-%Y) >=', $toDate);
// $this->db->where('t1.Date', $reqData['date']);
// $this->db->order_by('CreatedOn', 'DESC');
// $this->db->where('t1.BranchCode', $reqDataBy['localBranchID']);
} else {
// $this->db->select('t1.*, t2.ListName, t3.TypeName');
// $this->db->from(''.DAYBOOKMASTER. ' as t1');
// $this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
// $this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
// // $this->db->where('t1.Date', $reqData['date']);
// $this->db->order_by('CreatedOn', 'DESC');
// $this->db->where('t1.BranchCode', $reqDataBy['localBranchID']);
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t5.Firstname,t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName, t5.Firstname as Approved_by_name ,
t7.UniversityName as UniversityName, t6.CourseName as CourseName,t7.UniversityID,t8.Lastname,t8.MobileNumber
FROM ".DAYBOOKMASTERONLINE." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.CreatedBy
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
left join ".STUDENTS." as t8 on t8.StudentID = t1.StudentID
WHERE t1.BranchCode = '$reqpayType' AND t1.IsActive ='1' ORDER BY ORDER_ID DESC";
}
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
$dayBookDetails = $this->db->query($querys);
$dayBookDetailsList = $dayBookDetails->result();
$results['dayBookListStatus'] = true;
$results['dayBookListDetails'] = $dayBookDetailsList;
// print_r($this->db->last_query());die;
return $results;
}
public function get_Daybook_NonDetails_List($reqData, $reqDataBy) {
if($reqData['date'] != '' && $reqData['dateTo'] != '') {
// $this->db->select('t1.*, t2.ListName, t3.TypeName');
// $this->db->from(''.DAYBOOKMASTER. ' as t1');
// $this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
// $this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
$d = new DateTime($reqData['date']);
$dTo = new DateTime($reqData['dateTo']);
$fromDate = $d->format('Y-m-d');
$toDate = $dTo->format('Y-m-d');
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName
FROM ".NONOPERATIONAL." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
WHERE date_format(t1.CreatedOn,'%Y-%m-%d') BETWEEN '$fromDate'
AND '$toDate' AND t3.TypeID != 'I001' and t3.TypeID !='I002' AND t1.BranchCode = '$reqpayType' ORDER BY ORDER_ID DESC";
// echo $querys;exit();
// $this->db->where(' STR_TO_DATE(t1.Date, %d-%m-%Y) >=', $fromDate);
// $this->db->where(' STR_TO_DATE(t1.Date, %d-%m-%Y) >=', $toDate);
// $this->db->where('t1.Date', $reqData['date']);
// $this->db->order_by('CreatedOn', 'DESC');
// $this->db->where('t1.BranchCode', $reqDataBy['localBranchID']);
} else {
// $this->db->select('t1.*, t2.ListName, t3.TypeName');
// $this->db->from(''.DAYBOOKMASTER. ' as t1');
// $this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
// $this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
// // $this->db->where('t1.Date', $reqData['date']);
// $this->db->order_by('CreatedOn', 'DESC');
// $this->db->where('t1.BranchCode', $reqDataBy['localBranchID']);
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName, t5.Firstname as Approved_by_name ,
t7.UniversityName as UniversityName, t6.CourseName as CourseName,t7.UniversityID,t8.Lastname,t8.MobileNumber
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.Approval_By
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
left join ".STUDENTS." as t8 on t8.StudentID = t1.StudentID
WHERE t1.BranchCode = '$reqpayType' AND t3.TypeID != 'I001' and t3.TypeID !='I002' ORDER BY ORDER_ID DESC";
}
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
$dayBookDetails = $this->db->query($querys);
$dayBookDetailsList = $dayBookDetails->result();
$results['dayBookListStatus'] = true;
$results['dayBookListDetails'] = $dayBookDetailsList;
// print_r($this->db->last_query());
// die();
return $results;
}
public function get_Daybook_Approval_Details_List($reqData, $reqDataBy) {
if($reqData['date'] != '' && $reqData['dateTo'] != '') {
$d = new DateTime($reqData['date']);
$dTo = new DateTime($reqData['dateTo']);
$fromDate = $d->format('Y-m-d');
$toDate = $dTo->format('Y-m-d');
$reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName , t5.Firstname as Approved_by_name,t7.UniversityName as UniversityName, t6.CourseName as CourseName
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.Approval_By
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
WHERE STR_TO_DATE(t1.Date, '%d-%m-%Y') BETWEEN '$fromDate'
AND '$toDate' AND t1.BranchCode = '$reqpayType' AND t1.Status NOT IN ('Approved', 'Cancel') ORDER BY ORDER_ID DESC";
}
else { $reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName, t5.Firstname as Approved_by_name,t7.UniversityName as UniversityName, t6.CourseName as CourseName
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.Approval_By
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
WHERE t1.BranchCode = '$reqpayType' AND t1.Status NOT IN ('Approved', 'Cancel') ORDER BY ORDER_ID DESC";
}
$dayBookDetails = $this->db->query($querys);
$dayBookDetailsList = $dayBookDetails->result();
$results['dayBookListStatus'] = true;
$results['dayBookListDetails'] = $dayBookDetailsList;
return $results;
}
public function get_Daybook_filterApproval_Details_List($reqData, $reqDataBy,$filter) {
$ModeOfPayment= $filter['modeofpayment'];
$exptype = $filter['exptype'];
if($reqData['date'] != '' && $reqData['dateTo'] != '') {
$d = new DateTime($reqData['date']);
$dTo = new DateTime($reqData['dateTo']);
$fromDate = $d->format('Y-m-d');
$toDate = $dTo->format('Y-m-d');
$reqpayType = $reqDataBy['localBranchID'];
// $ModeOfPayment= $filter['modeofpayment'];
// $exptype = $filter['exptype'];
$querys = "SELECT t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName , t5.Firstname as Approved_by_name,t7.UniversityName as UniversityName, t6.CourseName as CourseName
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.Approval_By
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
WHERE STR_TO_DATE(t1.Date, '%d-%m-%Y') BETWEEN '$fromDate'
AND '$toDate' AND t1.BranchCode = '$reqpayType' AND t1.Status NOT IN ('Approved', 'Cancel')
";
}
else { $reqpayType = $reqDataBy['localBranchID'];
$querys = "SELECT t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName, t5.Firstname as Approved_by_name,t7.UniversityName as UniversityName, t6.CourseName as CourseName
FROM ".DAYBOOKMASTER." as t1
LEFT JOIN ".PICK_LIST_DETAILS." as t2 ON t2.ListCode = t1.Name
LEFT JOIN ".INCOMEOUTCOMEMASTER." as t3 ON t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode
LEFT JOIN ".LOGIN." as t4 ON t4.ID = t1.Approval_By
LEFT JOIN ".STAFF." as t5 ON t5.StaffID = t4.StaffID
LEFT JOIN ".COURSE." as t6 ON t6.CourseID = t1.CourseID AND t6.BranchCode = t1.BranchCode
LEFT JOIN ".UNIVERSITY." as t7 ON t7.UniversityID = t6.UniversityID AND t7.BranchCode = t1.BranchCode
WHERE t1.BranchCode = '$reqpayType' AND t1.Status NOT IN ('Approved', 'Cancel')
";
}
if($exptype != '')
{
$querys.="and t1.Type='$exptype'";
}
if($ModeOfPayment !='')
{
$querys.= "AND (t1.ModeOfPayment='$ModeOfPayment' or t1.ModeOfPayment is NULL)";
}
$querys.="ORDER BY ORDER_ID DESC";
// $this->db->select('t1.ID as ORDER_ID, t1.*, t2.ListName, t3.TypeName, t5.Firstname as Approved_by_name,t7.UniversityName as UniversityName, t6.CourseName as CourseName');
// $this->db->from('T_DayBookMaster t1');
// $this->db->join('T_PickListDetails t2','t2.ListCode = t1.Name','left');
// $this->db->join('T_Income_Outcome_Master t3','t3.ID = t1.Type AND t3.BranchCode = t1.BranchCode','left');
// $this->db->join('T_Login t4','t4 ON t4.ID = t1.Approval_By','left');
// $this->db->join('T_StaffDetails t5','t5.StaffID = t4.StaffID','left');
// $this->
$dayBookDetails = $this->db->query($querys);
$dayBookDetailsList = $dayBookDetails->result();
$results['dayBookListStatus'] = true;
$results['dayBookListDetails'] = $dayBookDetailsList;
//print_r($this->db->last_query());
// die();
return $results;
}
// delete the daybook details
public function delete_dayBookDetails($id,$reason) {
// echo $id;exit();
$mysql = "SELECT * FROM ".DAYBOOKMASTER." WHERE ID = '$id'";
$deleteDetails = $this->db->query($mysql);
$deleteDataDetails = $deleteDetails->result();
$deleteDataDetails1 = $deleteDetails->result_array();
$branch = $deleteDataDetails[0]->BranchCode;
$id = $deleteDataDetails[0]->ID;
$oldBalance = $deleteDataDetails[0]->Balance;
$next_id = $id + 1;
$deleteDataDetails1[0]['ID'] = $next_id;
$deleteDataDetails1[0]['Status'] = "Cancel";
$sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID < '$id')
ORDER BY ID DESC
LIMIT 1 ";
$currBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
$currBalance = $latestUpdateDetails[0]->Balance;
$currID = $latestUpdateDetails[0]->ID;
// $sql1 = " DELETE FROM ".DAYBOOKMASTER." WHERE ID ='$id'";
$sql1 = "UPDATE ".DAYBOOKMASTER." SET Status ='Cancel',Reason='$reason' WHERE ID ='$id'";
// update branch to staff_branch table
if ($this->db->query($sql1) == '1') {
$sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$currID')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
$updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$oldBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
$deleteDataDetails1[0]['Balance'] = $currBalance;
$this->db->insert(DAYBOOKMASTER, $deleteDataDetails1[0]);
}
$result['deletedStatus'] = true;
$result['message'] = "Entry is Deleted";
} else {
$result['deletedStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
// print_r($latestUpdateDetails);exit();
return $result;
}
// delete the daybook fees entry details
public function delete_dayBookFeePayableDetails($id,$reason, $loggedInUser) {
$this->db->select('*');
$this->db->from(DAYBOOKMASTER);
$this->db->where('ID', $id);
$typeDetails = $this->db->get();
$typeStateDetails = $typeDetails->result();
$getID = $typeStateDetails[0]->FeesPaymentID;
$branch = $typeStateDetails[0]->BranchCode;
// echo $id;exit();
$typeStateDetails[0]->Status="Cancel";
$typeStateDetails[0]->Name="I001";
try {
// load fees status model
$this->load->model('Fees_status_model');
/** comment due to
* 1 .Create new received fees entry after deleting the previously created received fees entry ,in that time don't display the status as "Blank" In Mark card and certificate report when the status already updated from student status update screen
* $this->Fees_status_model->deleteStudentStatusEntry($getID);
*/
// end fees status model
// $sql1 = " DELETE FROM ".STUDENTS_FEES_PAID." WHERE ID ='$getID'";
$sql1 = "UPDATE ".STUDENTS_FEES_PAID." SET IsActive ='0' WHERE ID ='$getID'";
$this->db->query($sql1);
} catch(Exception $e) {
echo 'error';
} finally {
//
$sql1 = "UPDATE ".DAYBOOKMASTER." SET Status ='Cancel',Reason='$reason' WHERE FeesPaymentID ='$getID'";
// insert additional entry for cancelled records
if ($this->db->query($sql1) == '1') {
$now = new DateTime();
$now->setTimezone(new DateTimezone('Asia/Kolkata'));
$additionalReq["Name"] = "I001";
$additionalReq["Type"] = $typeStateDetails[0]->Type;
$additionalReq["Amount"] = $typeStateDetails[0]->Amount;
$additionalReq["Date"] = $now->format('d-m-Y');
$additionalReq["Status"] = "Cancel";
$additionalReq["Reason"] = $reason;
$additionalReq["BranchCode"] = $typeStateDetails[0]->BranchCode;
$additionalReq["Description"] =$typeStateDetails[0]->Description;
$additionalReq["Approval_By"] =$typeStateDetails[0]->Approval_By;
$additionalReq["Approval_Comments"] =$typeStateDetails[0]->Approval_Comments;
$additionalReq["IsActive"] =$typeStateDetails[0]->IsActive;
$additionalReq["CreatedBy"] =$loggedInUser;
$additionalReq["CreatedOn"] =$now->format('Y-m-d H:i:s');
$additionalReq["UpdatedBy"] =$loggedInUser;
$additionalReq["UpdatedOn"] =$now->format('Y-m-d H:i:s');
$additionalReq["PaidTo"] =$typeStateDetails[0]->PaidTo;
$additionalReq["PaidDescription"] =$typeStateDetails[0]->PaidDescription;
// $additionalReq["VoucherNumber"] =$typeStateDetails[0]->VoucherNumber;
$additionalReq["VoucherNumber"] = $typeStateDetails[0]->VoucherNumber."-CAN";
$additionalReq["PaymentStatus"] =$typeStateDetails[0]->PaymentStatus;
$additionalReq["FeesPaymentID"] = $typeStateDetails[0]->FeesPaymentID;
$additionalReq["Balance"] = $typeStateDetails[0]->Balance;
$additionalReq["ModeOfPayment"] =$typeStateDetails[0]->ModeOfPayment;
$additionalReq["StudentID"] =$typeStateDetails[0]->StudentID;
$additionalReq["CourseID"] =$typeStateDetails[0]->CourseID;
$additionalReq["UniversityID"] =$typeStateDetails[0]->UniversityID;
$additionalReq["FeePaymentDetails"] =$typeStateDetails[0]->FeePaymentDetails;
$additionalReq["ReceiptNo"] =$typeStateDetails[0]->ReceiptNo;
$additionalReq["ReceiptNoComments"] =$typeStateDetails[0]->ReceiptNoComments;
$additionalReq["Isdaybook"] =$typeStateDetails[0]->Isdaybook;
$this->add_dayBook($additionalReq);
$result['deletedStatus'] = true;
$result['message'] = "Entry is Deleted";
} else {
$result['deletedStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
// ignored below steps since we no need to update the balance for the existing records and insert the new expense with the cancelled amount
/* $sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID < '$id')
ORDER BY ID DESC
LIMIT 1 ";
$currBalance = 0;
$currID = $id;
$latestUpdate = $this->db->query($sql);
error_log("================finally block".$this->db->last_query());
$latestUpdateDetails = $latestUpdate->result();
If(is_array($latestUpdateDetails) && count($latestUpdateDetails)>0)
{
error_log("================finally block--> if block");
$currBalance = $latestUpdateDetails[0]->Balance;
$currID = $latestUpdateDetails[0]->ID;
// $sql1 = " DELETE FROM ".DAYBOOKMASTER." WHERE FeesPaymentID ='$getID'";
// $sql1 = " DELETE FROM ".DAYBOOKMASTER." WHERE FeesPaymentID ='$getID'";
$sql1 = "UPDATE ".DAYBOOKMASTER." SET Status ='Cancel',Reason='$reason' WHERE FeesPaymentID ='$getID'";
// update branch to staff_branch table
if ($this->db->query($sql1) == '1') {
error_log("================finally block--> if block --> if block".$this->db->last_query());
$sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$currID')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
error_log("================finally block--> if block --> if block--latestUpdate2-----".$this->db->last_query());
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
error_log("================finally block--> if block --> if block-->inside forloop------".$this->db->last_query());
$updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
}
$result['deletedStatus'] = true;
$result['message'] = "Entry is Deleted";
} else {
error_log("================finally block--> if block --> else block");
$result['deletedStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}else{
$sql1 = "UPDATE ".DAYBOOKMASTER." SET Status ='Cancel' ,Reason='$reason', Balance ='$currBalance' WHERE FeesPaymentID ='$getID'";
// update branch to staff_branch table
if ($this->db->query($sql1) == '1') {
error_log("sql1=================".$this->db->last_query());
$sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$currID')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
error_log("latestUpdate2=================".$this->db->last_query());
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
$updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
error_log("updateSql=================".$this->db->last_query());
}
$result['deletedStatus'] = true;
$result['message'] = "Entry is Deleted";
} else {
$result['deletedStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
*/ //END
}
return $result;
}
// update existing daybook details
public function update_dayBookDetails($Arr, $upFor) {
$branch = $Arr['BranchCode'];
$sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID < '$upFor')
ORDER BY ID DESC
LIMIT 1 ";
$prevBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
If(is_array($latestUpdateDetails) && count($latestUpdateDetails)>0)
{
$prevBalance = $latestUpdateDetails[0]->Balance;
}else{
}
if($Arr['Name'] == 'I002') {
//Income
$Arr['Balance'] = $prevBalance + $Arr['Amount'];
}else if ($Arr['Name'] == 'I001') {
//Expense
$Arr['Balance'] = $prevBalance - $Arr['Amount'];
} else {
$Arr['Balance'] = 0;
}
$this->db->where('ID', $upFor);
$this->db->update(DAYBOOKMASTER, $Arr);
if ($this->db->affected_rows() == '1') {
$currBalance = 0;
$sql1 = "SELECT * FROM ".DAYBOOKMASTER." WHERE BranchCode = '$branch' AND ID = '$upFor'";
$latestUpdate1 = $this->db->query($sql1);
$latestUpdateDetails1 = $latestUpdate1->result();
$currBalance = $latestUpdateDetails1[0]->Balance;
$sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$upFor')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
$updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
}
$result['updateDetailsStatus'] = true;
$result['message'] = "Successfully Details Updated";
} else {
$result['updateDetailsStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
return $result;
}
// update existing daybook details
public function update_NonOperationalDetails($Arr, $upFor) {
$branch = $Arr['BranchCode'];
$sql = "SELECT * FROM ".NONOPERATIONAL." WHERE (BranchCode = '$branch' AND ID < '$upFor')
ORDER BY ID DESC
LIMIT 1 ";
$prevBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
If(is_array($latestUpdateDetails) && count($latestUpdateDetails)>0)
{
$prevBalance = $latestUpdateDetails[0]->Balance;
}else{
}
if($Arr['Name'] == 'I002') {
//Income
$Arr['Balance'] = $prevBalance + $Arr['Amount'];
}else if ($Arr['Name'] == 'I001') {
//Expense
$Arr['Balance'] = $prevBalance - $Arr['Amount'];
} else {
$Arr['Balance'] = 0;
}
$this->db->where('ID', $upFor);
$this->db->update(NONOPERATIONAL, $Arr);
if ($this->db->affected_rows() == '1') {
$currBalance = 0;
$sql1 = "SELECT * FROM ".NONOPERATIONAL." WHERE BranchCode = '$branch' AND ID = '$upFor'";
$latestUpdate1 = $this->db->query($sql1);
$latestUpdateDetails1 = $latestUpdate1->result();
$currBalance = $latestUpdateDetails1[0]->Balance;
$sql2 = "SELECT * FROM ".NONOPERATIONAL." WHERE (BranchCode = '$branch' AND ID > '$upFor')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
$updateSql = "UPDATE ".NONOPERATIONAL." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
}
$result['updateDetailsStatus'] = true;
$result['message'] = "Successfully Details Updated";
} else {
$result['updateDetailsStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
return $result;
}
// add dayBook
public function add_dayBook($Arr)
{
$voucherNo = $Arr['VoucherNumber'];
$branchCode = $Arr['BranchCode'];
// echo 'daybook';die();
// $Arr['Isdaybook'] = '1';
$sqlCheck = "SELECT * FROM ".DAYBOOKMASTER." WHERE VoucherNumber = '$voucherNo' and BranchCode = '$branchCode' ";
//print_r($this->db->query($sqlCheck));exit();
//print_r($this->db->last_query());die();
$checkAdd = $this->db->query($sqlCheck);
$checkAddDetails = $checkAdd->result();
if(count( $checkAddDetails ) > 0){
$result['addDayBookStatus'] = false;
$result['message'] = "This Voucher Number Already Exist.";
}else{
$branch = $Arr['BranchCode'];
$sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE BranchCode = '$branch'
ORDER BY ID DESC
LIMIT 1";
$prevBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
If(is_array($latestUpdateDetails) && count($latestUpdateDetails)>0)
{
$prevBalance = $latestUpdateDetails[0]->Balance;
}else{
}
if($Arr['Status'] != 'Cancel' || $Arr["ModeOfPayment"] == 'CASH')
{
if($Arr['Name'] == 'I002') {
//Income
$Arr['Balance'] = $prevBalance + $Arr['Amount'];
}else if ($Arr['Name'] == 'I001') {
//Expense
$Arr['Balance'] = $prevBalance - $Arr['Amount'];
} else {
$Arr['Balance'] = 0;
}
}else{
$Arr['Balance'] = $prevBalance;
}
$this->db->insert(DAYBOOKMASTER, $Arr);
if ($this->db->affected_rows() == '1') {
$result['addDayBookStatus'] = true;
$result['message'] = "Successfully DayBook Details Added";
} else {
$result['addDayBookStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
return $result;
}
// add non operational
public function add_NonOperational($Arr)
{
// echo 'nonope';die();
//echo $Arr['Isdaybook'];
$branchCode = $Arr['BranchCode'];
//echo $branchCode;die();
$voucherNo = $Arr['VoucherNumber'];
$sqlCheck = "SELECT * FROM ".NONOPERATIONAL." WHERE VoucherNumber = '$voucherNo' and BranchCode = '$branchCode' ";
// print_r($this->db->query($sqlCheck));exit();
$checkAdd = $this->db->query($sqlCheck);
$checkAddDetails = $checkAdd->result();
// print_r($this->db->last_query());die();
if(count( $checkAddDetails ) > 0){
$result['addDayBookStatus'] = false;
$result['message'] = "This Voucher Number Already Exist.";
}else{
$branch = $Arr['BranchCode'];
$sql = "SELECT * FROM ".NONOPERATIONAL." WHERE BranchCode = '$branch' and Isdaybook='1'
ORDER BY ID DESC
LIMIT 1";
$prevBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
// print_r($latestUpdateDetails);die();
If(is_array($latestUpdateDetails) && count($latestUpdateDetails)>0)
{
$prevBalance = $latestUpdateDetails[0]->Balance;
}else{
}
if($Arr['Isdaybook']==1)
{
if($Arr['Name'] == 'I002') {
//Income
$Arr['Balance'] = $prevBalance + $Arr['Amount'];
}else if ($Arr['Name'] == 'I001') {
//Expense
$Arr['Balance'] = $prevBalance - $Arr['Amount'];
} else {
$Arr['Balance'] = 0;
}
}
$this->db->insert(NONOPERATIONAL, $Arr);
if ($this->db->affected_rows() == '1') {
$result['addDayBookStatus'] = true;
$result['message'] = "Successfully DayBook Details Added";
} else {
$result['addDayBookStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
return $result;
}
// approve/reject status updation for the daybook expense details
public function update_status_admin($arr) {
$Approval_By = $arr[0]['Approval_By'];
$Approval_Comments = $arr[0]['Approval_Comments'];
$UpdatedBy = $arr[0]['UpdatedBy'];
$UpdatedOn = $arr[0]['UpdatedOn'];
$status = $arr[0]['Status'];
// $number = array();
// foreach($arr as $ar){
// array_push($number, $ar['ID']);
// }
// $updateFor = implode(',', $number);
$updateFor = $arr[0]['ID'];
if( $status == "Pending" || $status == "Approved" || $status == "approved" || $status == "pending"){
$mysql = "SELECT * FROM ".DAYBOOKMASTER." WHERE ID = '$updateFor'";
$updateDetails = $this->db->query($mysql);
$updateDataDetails = $updateDetails->result();
$branch = $updateDataDetails[0]->BranchCode;
$Amount = 0;
$Amount = $updateDataDetails[0]->Amount;
$sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID < '$updateFor')
ORDER BY ID DESC
LIMIT 1 ";
$currBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
if($updateDataDetails[0]->Name == 'I002' ) {
//Income
$currBalance = $latestUpdateDetails[0]->Balance + $Amount;
}else if ($updateDataDetails[0]->Name == 'I001') {
//Expense
$currBalance = $latestUpdateDetails[0]->Balance - $Amount;
} else {
}
// $currBalance = $latestUpdateDetails[0]->Balance + $Amount;
$sql = "UPDATE ".DAYBOOKMASTER."
SET Status = '$status', Approval_By = '$Approval_By' ,
Approval_Comments = '$Approval_Comments', UpdatedBy = '$UpdatedBy' , UpdatedOn = '$UpdatedOn' , Balance = '$currBalance'
WHERE id = '$updateFor' ";
$mBranchDetails = $this->db->query($sql);
// echo $mBranchDetails;
// echo $this->db->affected_rows(); exit();
if ($this->db->affected_rows() >= 1) {
$sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$updateFor')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
$updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
}
$result['addStatus'] = true;
$result['message'] = "Successfully Details Updated";
} else {
$result['addStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
} else if( $status == "Rejected" || $status == "rejected" ) {
$mysql = "SELECT * FROM ".DAYBOOKMASTER." WHERE ID = '$updateFor'";
$updateDetails = $this->db->query($mysql);
$updateDataDetails = $updateDetails->result();
$branch = $updateDataDetails[0]->BranchCode;
$Amount = 0;
$Amount = $updateDataDetails[0]->Amount;
if($updateDataDetails[0]->PaymentStatus === '1' || $updateDataDetails[0]->PaymentStatus === '0'){
$sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID < '$updateFor')
ORDER BY ID DESC
LIMIT 1 ";
$currBalance = 0;
$latestUpdate = $this->db->query($sql);
$latestUpdateDetails = $latestUpdate->result();
$currBalance = $latestUpdateDetails[0]->Balance;
$sql = "UPDATE ".DAYBOOKMASTER."
SET Status = '$status', Approval_By = '$Approval_By' ,
Approval_Comments = '$Approval_Comments', UpdatedBy = '$UpdatedBy' , UpdatedOn = '$UpdatedOn' , Balance = '$currBalance'
WHERE id = '$updateFor' ";
$mBranchDetails = $this->db->query($sql);
// echo $mBranchDetails;
// echo $this->db->affected_rows(); exit();
if ($this->db->affected_rows() >= 1) {
$sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$updateFor')
ORDER BY ID ASC";
$latestUpdate2 = $this->db->query($sql2);
$latestUpdateDetails2 = $latestUpdate2->result();
foreach( $latestUpdateDetails2 as $clip){
if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Income
$currBalance = $currBalance + $clip->Amount;
}else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
//Expense
$currBalance = $currBalance - $clip->Amount;
} else {
}
$updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
$this->db->query($updateSql);
}
$result['addStatus'] = true;
$result['message'] = "Successfully Details Updated";
} else {
$result['addStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
// else if($updateDataDetails[0]->PaymentStatus === '0') {
// $currentVoucheNumber = $updateDataDetails[0]->VoucherNumber;
// $mySql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND VoucherNumber = '$currentVoucheNumber')
// ORDER BY ID ASC
// LIMIT 1 ";
// $mySqlUpdate = $this->db->query($mySql);
// $mySqlUpdateDetails = $mySqlUpdate->result();
// $mySqlUpdateDetailsID = $mySqlUpdateDetails[0]->ID;
// $sql = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID < '$mySqlUpdateDetailsID')
// ORDER BY ID DESC
// LIMIT 1 ";
// $currBalance = 0;
// $latestUpdate = $this->db->query($sql);
// $latestUpdateDetails = $latestUpdate->result();
// If(is_array($latestUpdateDetails) && count($latestUpdateDetails)>0)
// {
// $currBalance = $latestUpdateDetails[0]->Balance;
// }else{
// }
// $sql = "UPDATE ".DAYBOOKMASTER."
// SET Status = '$status', Approval_By = '$Approval_By' ,
// Approval_Comments = '$Approval_Comments', UpdatedBy = '$UpdatedBy' , UpdatedOn = '$UpdatedOn' , Balance = '$currBalance'
// WHERE VoucherNumber = '$currentVoucheNumber' ";
// $mBranchDetails = $this->db->query($sql);
// if ($this->db->affected_rows() >= 1) {
// $sql2 = "SELECT * FROM ".DAYBOOKMASTER." WHERE (BranchCode = '$branch' AND ID > '$updateFor')
// ORDER BY ID ASC";
// $latestUpdate2 = $this->db->query($sql2);
// $latestUpdateDetails2 = $latestUpdate2->result();
// foreach( $latestUpdateDetails2 as $clip){
// if($clip->Name == 'I002' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
// //Income
// $currBalance = $currBalance + $clip->Amount;
// }else if ($clip->Name == 'I001' && ($clip->Status == "Pending" || $clip->Status == "Approved" || $clip->Status == "approved" || $clip->Status == "pending")) {
// //Expense
// $currBalance = $currBalance - $clip->Amount;
// } else {
// }
// $updateSql = "UPDATE ".DAYBOOKMASTER." SET Balance ='$currBalance' WHERE ID = '$clip->ID'";
// $this->db->query($updateSql);
// }
// $result['addStatus'] = true;
// $result['message'] = "Successfully Details Updated";
// } else {
// $result['addStatus'] = false;
// $result['message'] = "Something went wrong.please try again";
// }
// }
}
return $result;
}
// daybook full details for super admin view
public function get_Daybook_Details_List_superAdmin($reqData, $reqDataBy){
if($reqData['date'] != '' && $reqData['dateTo'] != '') {
$this->db->select('t1.*, t2.ListName, t3.TypeName, t4.BranchName, t6.Firstname as Approved_by_name ');
$this->db->from(''.DAYBOOKMASTER. ' as t1');
$this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
$this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
$this->db->join('' . BRANCH . ' as t4', 't4.BranchCode = t1.BranchCode', 'LEFT');
$this->db->join('' . LOGIN . ' as t5', 't5.ID = t1.Approval_By', 'LEFT');
$this->db->join('' . STAFF . ' as t6', 't6.StaffID = t5.StaffID', 'LEFT');
$this->db->where('t1.Date >=', $reqData['date']);
$this->db->where('t1.Date <=', $reqData['dateTo']);
$this->db->order_by('CreatedOn', 'DESC');
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
$dayBookDetails = $this->db->get();
$dayBookDetailsList = $dayBookDetails->result();
} else {
$this->db->select('t1.*, t2.ListName, t3.TypeName, t4.BranchName, t6.Firstname as Approved_by_name ');
$this->db->from(''.DAYBOOKMASTER. ' as t1');
$this->db->join('' . PICK_LIST_DETAILS . ' as t2', 't2.ListCode = t1.Name', 'LEFT');
$this->db->join('' . INCOMEOUTCOMEMASTER . ' as t3', 't3.ID = t1.Type', 'LEFT');
$this->db->join('' . BRANCH . ' as t4', 't4.BranchCode = t1.BranchCode', 'LEFT');
$this->db->join('' . LOGIN . ' as t5', 't5.ID = t1.Approval_By', 'LEFT');
$this->db->join('' . STAFF . ' as t6', 't6.StaffID = t5.StaffID', 'LEFT');
// $this->db->where('t1.Date', $reqData['date']);
$this->db->order_by('CreatedOn', 'DESC');
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
$dayBookDetails = $this->db->get();
$dayBookDetailsList = $dayBookDetails->result();
}
$results['dayBookListStatus'] = true;
$results['dayBookListDetails'] = $dayBookDetailsList;
return $results;
}
public function getAccounttype($requestedBy,$requestedBranch)
{
$this->db->select('ListCode,ListName,IsActive');
$this->db->where('ListGroup','10');
//$this->db->where('BranchCode', $reqBranch);
$this->db->order_by('ListCode','DESC');
$statusDetails = $this->db->get(PICK_LIST_DETAILS);
if($statusDetails->result()){
$result['Status'] = true;
$result['details'] = $statusDetails->result();
}
else {
$result['Status'] = false;
$result['message'] = "No records found!";
}
return $result;
}
public function Income_expense($from,$to,$br)
{
// echo $from.'ff';
// echo $to.'to';
$incomecode='I002';
$expensecode='I001';
$fromd= date("Y-m-d",strtotime($from));
$tod=date("Y-m-d",strtotime($to));
if($from != null && $to != null){
$where="str_to_date(Date,'%d-%m-%Y')>='".$fromd."' and str_to_date(Date,'%d-%m-%Y')<='".$tod."' and";
}else{
$where="";
}
$subQuery= 'SELECT
DISTINCT(p.Name) AS TID,ListName,
SUM(IF(p.Name=?,Amount,0)) AS Income,
SUM(IF(p.Name=? and p.Status !=?,Amount,0)) AS Expense,
SUM( CASE Name
WHEN ? THEN Amount
WHEN ? THEN Amount
END) AS Total
FROM
T_DayBookMaster AS p
join T_PickListDetails on T_PickListDetails.ListCode = p.name
LEFT JOIN T_Income_Outcome_Master ON T_Income_Outcome_Master.ID = p.Type
where '.$where.' p.IsActive=? and
(CASE
WHEN
p.Name=?
THEN
p.ModeOfPayment != ?
AND p.ModeOfPayment != ?
AND p.Status != ?
AND T_Income_Outcome_Master.TypeName NOT LIKE ?
WHEN
p.Name=?
THEN
p.Status != ?
AND T_Income_Outcome_Master.TypeName != ?
AND T_Income_Outcome_Master.TypeName NOT LIKE ?
END)
and Status !=? and p.BranchCode=?
GROUP BY p.`Name`';
$query = $this->db->query($subQuery,array($incomecode,$expensecode,'Pending',$incomecode,$expensecode,'1','I002','WAIVER','REFERRAL','Pending','%BY CASH%','I001','Pending','FEES','%CASH TO%','Cancel',$br));
$expense = $query->result();
// print_r($this->db->last_query());
// echo " income total query";
// print_r($query);
// die();
// and p.Isdaybook=?
// if(count($expense) > 0)
// {
$results['expense_data'] = $expense;
// }
$subQueryNON= 'SELECT
DISTINCT(q.Name) AS TID,ListName,T_Income_Outcome_Master.TypeID as Orgtype,
SUM(IF(q.Name=?,Amount,0)) AS Income,
SUM(IF(q.Name=? ,Amount,0)) AS Expense,
SUM( CASE Name
WHEN ? THEN Amount
WHEN ? THEN Amount
END) AS Total
FROM T_NonOperationalMaster AS q
Join T_Income_Outcome_Master on T_Income_Outcome_Master.ID=q.Type
join T_PickListDetails on T_PickListDetails.ListCode = q.name
where '.$where.' q.IsActive=? and (q.Name=? or q.Name=?)
and Status !=? and q.BranchCode=? and q.Isdaybook=? GROUP BY q.Name';
$querynon = $this->db->query($subQueryNON,array($incomecode,$expensecode,$incomecode,$expensecode,'1','I001','I002','Cancel',$br,'1'));
$expensenon = $querynon->result();
// print_r($this->db->last_query());
// if(count($expensenon)>0)
// {
$results['expense_data_nonop'] = $expensenon;
// }
// print_r($results);die();
return $results;
}
public function getIncome_Details($from,$to,$incid,$branch)
{
$fromd= date("Y-m-d",strtotime($from));
$tod=date("Y-m-d",strtotime($to));
$expid = 'I001';
if($from != null && $to != null){
$where="str_to_date(Date,'%d-%m-%Y')>='".$fromd."' and str_to_date(Date,'%d-%m-%Y')<='".$tod."' and";
}else{
$where="";
}
// $subQuery='select Name,sum(Amount) as Total,T_DayBookMaster.ID,T_Income_Outcome_Master.ID as SubID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,T_DayBookMaster.Date,Reason,T_DayBookMaster.Description,ListName from T_DayBookMaster
// left join T_Income_Outcome_Master on T_Income_Outcome_Master.ID = T_DayBookMaster.Type
// join T_PickListDetails on T_PickListDetails.ListCode = T_Income_Outcome_Master.TypeID
// where str_to_date(date,?)>=? and str_to_date(date,?)<=? and Status!=? and T_DayBookMaster.BranchCode=? and (T_DayBookMaster.ModeOfPayment != ? and T_DayBookMaster.ModeOfPayment != ?and T_DayBookMaster.Status !=?) group by Type,Name';
// $query = $this->db->query($subQuery,array('%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,'Cancel',$branch,'WAIVER','REFERRAL','Pending'));
//and T_DayBookMaster.Isdaybook=?
$subQuery="select Name,sum(Amount) as Total,T_DayBookMaster.ID,T_Income_Outcome_Master.ID as SubID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,T_DayBookMaster.Date,Reason,T_DayBookMaster.Description,ListName from T_DayBookMaster
left join T_Income_Outcome_Master on T_Income_Outcome_Master.ID = T_DayBookMaster.Type
join T_PickListDetails on T_PickListDetails.ListCode = T_Income_Outcome_Master.TypeID
where ".$where." Status!=? and T_DayBookMaster.BranchCode=? and (case when ListName = 'Income' then T_DayBookMaster.ModeOfPayment != 'WAIVER' and T_DayBookMaster.ModeOfPayment != 'REFERRAL'and T_DayBookMaster.Status !='Pending' and T_Income_Outcome_Master.TypeName NOT LIKE '%BY CASH%'
when ListName = 'Expense' then T_DayBookMaster.Status !='Pending' and T_Income_Outcome_Master.TypeName != 'FEES' and T_Income_Outcome_Master.TypeName NOT LIKE '%CASH TO%' end) group by Type,Name";
$query = $this->db->query($subQuery,array('Cancel',$branch));
$expense = $query->result();
// print_r($this->db->last_query());
// die();
if(count($expense)>0)
{
$results['fullexpense_detail'] = $expense;
}
$subQueryNON = 'select Name,sum(Amount) as Total,T_NonOperationalMaster.ID,T_Income_Outcome_Master.ID as SubID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,T_NonOperationalMaster.Date,Reason,T_NonOperationalMaster.Description,ListName
from T_NonOperationalMaster
left join T_Income_Outcome_Master on T_Income_Outcome_Master.ID = T_NonOperationalMaster.Type
join T_PickListDetails on T_PickListDetails.ListCode = T_Income_Outcome_Master.TypeID
where '.$where.'
Status!=? and T_NonOperationalMaster.BranchCode=? and T_NonOperationalMaster.Isdaybook=? group by Type,Name';
$queryNon = $this->db->query($subQueryNON,array('Cancel',$branch,'1'));
$expenseNon = $queryNon->result();
// print_r($this->db->last_query());die();
if(count($expenseNon)>0)
{
$results['fullNonOpexpense_detail'] = $expenseNon;
}
return $results;
//return $query->result_array();
}
public function GetPLexcelDetails($from,$to,$branch)
{
$fromd= date("d-m-Y",strtotime($from));
$tod=date("d-m-Y",strtotime($to));
// $subQuery='select Name,ListName,Date,T_Income_Outcome_Master.ID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,
// SUM(IF(p.Name=? ,Amount,0)) AS OperationalIncome,
// SUM(IF(p.Name=? ,Amount,0)) AS OperationalExpense,
// SUM(IF(p.Name=? ,Amount,0)) AS NonOperationalIncome,
// SUM(IF(p.Name=? ,Amount,0)) AS NonOperationalExpense
// from T_DayBookMaster as p
// Join T_Income_Outcome_Master on T_Income_Outcome_Master.ID= p.Type
// Join T_PickListDetails on T_PickListDetails.ListCode=p.Name
// where str_to_date(Date,?)>=?
// and str_to_date(Date,?)<=?
// and p.Isdaybook=?
// and p.BranchCode=?
// group by Name,Month(str_to_date(Date,?))
// union
// select Name,ListName,Date,T_Income_Outcome_Master.ID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,
// SUM(IF(q.Name=?,Amount,0)) AS OperationalIncome,
// SUM(IF(q.Name=?,Amount,0)) AS OperationalExpense,
// SUM(IF(q.Name=?,Amount,0)) AS NonOperationalIncome,
// SUM(IF(q.Name=?,Amount,0)) AS NonOperationalExpense
// from T_NonOperationalMaster as q
// Join T_Income_Outcome_Master on T_Income_Outcome_Master.ID= q.Type
// Join T_PickListDetails on T_PickListDetails.ListCode=q.Name
// where str_to_date(Date,?)>=?
// and str_to_date(Date,?)<=?
// and q.BranchCode=?
// group by Name,Month(str_to_date(Date,?)) ;
// ';
// $query = $this->db->query($subQuery,array('I002','I001','I003','I003','%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,'1',$branch,'%d-%m-%Y','I003','I004','I002','I001','%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,$branch,'%d-%m-%Y'));
// $subQuery='select Name,ListName,Date,T_Income_Outcome_Master.ID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,
// SUM(IF(q.Name=? and TypeID =?,Amount,0)) AS OperationalIncome,
// SUM(IF(q.Name=? and TypeID = ?,Amount,0)) AS OperationalExpense,
// SUM(IF(q.Name=? and TypeID != ?,Amount,0)) AS NonOperationalIncome,
// SUM(IF(q.Name=? and TypeID != ?,Amount,0)) AS NonOperationalExpense
// from T_NonOperationalMaster as q
// Join T_Income_Outcome_Master on T_Income_Outcome_Master.ID= q.Type
// Join T_PickListDetails on T_PickListDetails.ListCode=q.Name
// where str_to_date(Date,?)>=? and str_to_date(Date,?)<=? and q.BranchCode=? group by Name,Month(str_to_date(Date,?));';
// $query = $this->db->query($subQuery,array('I002','I002','I001','I001','I002','I002','I001','I001','%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,$branch,'%d-%m-%Y'));
if($from != null && $to != null){
//$where="str_to_date(Date,'%d-%m-%Y')>=str_to_date('".$fromd."','%d-%m-%Y') and str_to_date(Date,'%d-%m-%Y')<=str_to_date('".$tod."','%d-%m-%Y') and";
$where="str_to_date(Date,'%d-%m-%Y')>='".$from."' and str_to_date(Date,'%d-%m-%Y')<='".$to."' and";
}else{$where="";}
$subQuery='select Name,ListName,q.Date as dat,month(str_to_date(Date,?)) as month,year(str_to_date(Date,?)) as Year,
T_Income_Outcome_Master.ID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,
SUM(IF(q.Name=? and TypeID =?,Amount,0)) AS OperationalIncome,
SUM(IF(q.Name=? and TypeID = ?,Amount,0)) AS OperationalExpense,
SUM(IF(q.Name=? and TypeID != ?,Amount,0)) AS NonOperationalIncome,
SUM(IF(q.Name=? and TypeID != ?,Amount,0)) AS NonOperationalExpense,
(SUM(IF(q.Name=? and TypeID =?,Amount,0))+SUM(IF(q.Name=? and TypeID != ?,Amount,0)))-
(SUM(IF(q.Name=? and TypeID = ?,Amount,0))+SUM(IF(q.Name=? and TypeID != ?,Amount,0))) as Net
from T_NonOperationalMaster as q
left Join T_Income_Outcome_Master on T_Income_Outcome_Master.ID= q.Type
left Join T_PickListDetails on T_PickListDetails.ListCode=q.Name
where '.$where.' q.BranchCode=? group by month';
$query = $this->db->query($subQuery,array('%d-%m-%Y','%d-%m-%Y','I002','I002','I001','I001','I002','I002','I001','I001','I002','I002','I002','I002','I001','I001','I001','I001',$branch));
$expenseNon = $query->result();
if(count($expenseNon)>0)
{
$results['exceldetails'] = $expenseNon;
}else{
$results = array();
}
return $results;
}
public function Income_expenseSubtype()
{
$this->db->select('ListCode,ListName,IsActive');
$this->db->where('ListGroup','10');
$this->db->order_by('ListCode','DESC');
$statusDetails = $this->db->get(PICK_LIST_DETAILS);
if($statusDetails->result()){
$result['Status'] = true;
$result['details'] = $statusDetails->result();
}
else {
$result['Status'] = false;
$result['message'] = "No records found!";
}
return $result;
}
public function GetAllDaybook($search=null)
{
//if($search['MobileNumber']!='' && $search['Firstname']!='' && $search['receipt']!='')
//{
$this->db->select('T_Students_Fees_PaidDetails.ID,T_Students_Fees_PaidDetails.StudentID,T_StudentDetails.Firstname,T_Students_Fees_PaidDetails.FeesID,T_Students_Fees_PaidDetails.BillNO,T_Students_Fees_PaidDetails.BillDate,T_Students_Fees_PaidDetails.BillAmount,T_Students_Fees_PaidDetails.InternalComments as Reason,T_Students_Fees_PaidDetails.IsActive,T_Students_Fees_PaidDetails.ReceiptNo');
$this->db->from('T_Students_Fees_PaidDetails');
$this->db->join('T_StudentDetails','T_StudentDetails.StudentID=T_Students_Fees_PaidDetails.StudentID','left');
if($search['MobileNumber']!='')
{
$this->db->where('T_StudentDetails.MobileNumber',$search['MobileNumber']);
}
if($search['Firstname']!='')
{
// $this->db->like('ST.Firstname','%'.$search['Firstname'].'%');
$this->db->like('T_StudentDetails.Firstname',$search['Firstname'],'both');
}
if($search['receipt']!='')
{
$this->db->where('T_Students_Fees_PaidDetails.ReceiptNo',$search['receipt']);
}
$this->db->where('T_StudentDetails.BranchCode',$search['branchId']);
$searchDetails = $this->db->get();
if($searchDetails->result())
{
//print_r($searchDetails->result());
$result_array['studentStatus'] = true;
$result_array['details'] = $searchDetails->result();
}
else
{
$result_array['studentStatus'] = false;
$result_array['details'] = "No records found!";
}
return $result_array;
//}
// else{
// $result_array['studentStatus'] = false;
// $result_array['details'] = "No records found!";
// }
}
public function UpdateDayFee($up_details)
{
//echo $up_details['ID'];
//UpdatedOn
// print_r($up_details);die();
$time = date('Y-m-d H:i:s');
$dateTime = $time;
// echo $dateTime;
//die();
//$daybookarr['ID'] = $up_details['ID'];
$daybookarr['IsActive'] = $up_details['IsActive'];
$daybookarr['Reason'] = $up_details['Reason'];
$daybookarr['UpdatedOn'] = $dateTime;
$daybookarr['UpdatedBy'] =$up_details['requestedtBy'];
if($up_details['IsActive'] == '0')
{
$daybookarr['Status'] = 'Cancel';
}
else
{
$daybookarr['Status'] = 'Approved';
}
//print_r($daybookarr);
//die();
$this->db->where('FeesPaymentID', $up_details['ID']);
$this->db->update('T_DayBookMaster', $daybookarr);
//$feearr['ID'] = $up_details['FeesPaymentID'];
$feearr['IsActive'] = $up_details['IsActive'];
$feearr['InternalComments'] = $up_details['Reason'];
$feearr['UpdatedOn'] = $dateTime;
$feearr['UpdatedBy'] = $up_details['branchId'];
$this->db->where('ID', $up_details['ID']);
$this->db->update('T_Students_Fees_PaidDetails', $feearr);
return TRUE;
}
public function GetStudentAllDetail($mobileNumber)
{
// echo $mobileNumber.'model';
$this->db->select('*');
$this->db->from('T_StudentDetails');
$this->db->where('MobileNumber',$mobileNumber);
$searchDetails = $this->db->get();
// /print_r($searchDetails->result());
if($searchDetails->result())
{
// $searchDetails['status'] = REST_Controller::HTTP_OK;
// $this->response($searchDetails, REST_Controller::HTTP_OK);
$studentDetails['status'] = true;
$studentDetails['details'] = $searchDetails->result();
}
else
{
$studentDetails['status'] = false;
$studentDetails['details'] = "No records found!";
}
return $studentDetails;
}
Public function getBillDetails($bilNo=null)
{
$sql = "select BillNO,BillDate,BillAmount,ifnull(ReceiptNo,'-') as ReceiptNo,ModeOfPayment,CommentsForStudent,InternalComments
from T_Students_Fees_PaidDetails where BillNO = '".$bilNo."'
";
$a=$this->db->query($sql);
$bill = $a->result();
if (count($bill) > 0) {
$results['List'] = true;
$results['bill_Details'] = $bill;
} else {
$results['List'] = false;
$results['message'] = 'No records found';
}
return $results;
}
public function getExpenseType($branch)
{
$expcode='I001';
$this->db->select('ID,TypeName');
$this->db->from('T_Income_Outcome_Master');
$this->db->where('TypeID',$expcode);
$this->db->where('BranchCode',$branch);
$this->db->where('IsActive','1');
$searchDetails = $this->db->get();
if($searchDetails->result())
{
$expDetails['status'] = true;
$expDetails['details'] = $searchDetails->result();
}
else
{
$expDetails['status'] = false;
$expDetails['details'] = "No records found!";
}
return $expDetails;
}
}