apollodec/Apollo/api/application/models/DayBook_model.php
2020-11-27 10:50:31 +05:30

1564 lines
70 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');
$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));
// echo $fromd;
// echo $tod;
// die();
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
where '.$where.' p.IsActive=? and (p.Name=? and p.Status !=? or p.Name=?) and (p.ModeOfPayment != ? and p.ModeOfPayment != ? ) and Status !=? and p.BranchCode=?
GROUP BY p.`Name`';
$query = $this->db->query($subQuery,array($incomecode,$expensecode,'Pending',$incomecode,$expensecode,'1','I001','Pending','I002','WAIVER','REFERRAL','Cancel',$br));
$expense = $query->result();
// print_r($this->db->last_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();
// 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();
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();
if(count($expenseNon)>0)
{
$results['fullNonOpexpense_detail'] = $expenseNon;
}
return $results;
//return $query->result_array();
}
public function GetPLexcelDetails($from,$to,$branch)
{
$fromd= date("Y-m-d",strtotime($from));
$tod=date("Y-m-d",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')>=".$fromd." and str_to_date(Date,'%d-%m-%Y')<=".$tod." 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;
}
}