File: /home/mostafedeg/public_html/erp/controllers/FinancialPositionController.php
<?php
//the global file operation
include("../public/impOpreation.php");
//global varable
global $showoutside;
//to check if the page from .htacess
//$showoutside = $_GET['sn'];
// get the config file
include_once("../public/config.php");
//here the db files that include in the file
// GOES HERE ....................
include("../public/include_dao.php");
//Storedetail
require_once('../models/dao/StoredetailDAO.class.php');
require_once('../models/dto/Storedetail.class.php');
require_once('../models/mysql/StoredetailMySqlDAO.class.php');
require_once('../models/mysql/ext/StoredetailMySqlExtDAO.class.php');
//Product
require_once('../models/dao/ProductDAO.class.php');
require_once('../models/dto/Product.class.php');
require_once('../models/mysql/ProductMySqlDAO.class.php');
require_once('../models/mysql/ext/ProductMySqlExtDAO.class.php');
//Productunit
require_once('../models/dao/ProductunitDAO.class.php');
require_once('../models/dto/Productunit.class.php');
require_once('../models/mysql/ProductunitMySqlDAO.class.php');
require_once('../models/mysql/ext/ProductunitMySqlExtDAO.class.php');
//Save
require_once('../models/dao/SaveDAO.class.php');
require_once('../models/dto/Save.class.php');
require_once('../models/mysql/SaveMySqlDAO.class.php');
require_once('../models/mysql/ext/SaveMySqlExtDAO.class.php');
//Bankaccount
require_once('../models/dao/BankaccountDAO.class.php');
require_once('../models/dto/Bankaccount.class.php');
require_once('../models/mysql/BankaccountMySqlDAO.class.php');
require_once('../models/mysql/ext/BankaccountMySqlExtDAO.class.php');
//Capital
require_once('../models/dao/CapitalDAO.class.php');
require_once('../models/dto/Capital.class.php');
require_once('../models/mysql/CapitalMySqlDAO.class.php');
require_once('../models/mysql/ext/CapitalMySqlExtDAO.class.php');
//Kempiala
require_once('../models/dao/KempialaDAO.class.php');
require_once('../models/dto/Kempiala.class.php');
require_once('../models/mysql/KempialaMySqlDAO.class.php');
require_once('../models/mysql/ext/KempialaMySqlExtDAO.class.php');
//Dated Checked
require_once('../models/dao/DatedcheckedDAO.class.php');
require_once('../models/dto/Datedchecked.class.php');
require_once('../models/mysql/DatedcheckedMySqlDAO.class.php');
require_once('../models/mysql/ext/DatedcheckedMySqlExtDAO.class.php');
//Supplier
require_once('../models/dao/SupplierDAO.class.php');
require_once('../models/dto/Supplier.class.php');
require_once('../models/mysql/SupplierMySqlDAO.class.php');
require_once('../models/mysql/ext/SupplierMySqlExtDAO.class.php');
require_once('../models/dao/YoutubeLinkDAO.class.php');
require_once('../models/dto/YoutubeLink.class.php');
require_once('../models/mysql/YoutubeLinkMySqlDAO.class.php');
require_once('../models/mysql/ext/YoutubeLinkMySqlExtDAO.class.php');
//Client
require_once('../models/dao/ClientDAO.class.php');
require_once('../models/dto/Client.class.php');
require_once('../models/mysql/ClientMySqlDAO.class.php');
require_once('../models/mysql/ext/ClientMySqlExtDAO.class.php');
//Asset
require_once('../models/dao/AssetsDAO.class.php');
require_once('../models/dto/Asset.class.php');
require_once('../models/mysql/AssetsMySqlDAO.class.php');
require_once('../models/mysql/ext/AssetsMySqlExtDAO.class.php');
//Partnerwithdrawal
require_once('../models/dao/PartnerwithdrawalDAO.class.php');
require_once('../models/dto/Partnerwithdrawal.class.php');
require_once('../models/mysql/PartnerwithdrawalMySqlDAO.class.php');
require_once('../models/mysql/ext/PartnerwithdrawalMySqlExtDAO.class.php');
//Breadcrumb
require_once("../library/breadcrumb.php");
//get the do the action
$do = $_GET['do'];
/* ======================
Controller Name :- profitreportCTRL تقرير يومية الخزينة
OPERTATION in Controller
1-load save data
2-display show form
3-display details form for save
4-display details for operation in savedaily
======================== */
//here the global templates
$smarty->display("header.html");
//here goes the instances and general variables
//Storedetail
$myStoredetailEx = new StoredetailMySqlExtDAO();
$myStoredetailDAO = new StoredetailMySqlDAO();
//Product
$myProductRecord = new ProductMySqlDAO();
$myProductEx = new ProductMySqlExtDAO();
//Productunit
$myProductunitEx = new ProductunitMySqlExtDAO();
$myProductunitRecord = new ProductunitMySqlDAO();
//Save
$mySaveRecord = new SaveMySqlDAO();
$mySaveEx = new SaveMySqlExtDAO();
//Bankaccount
$myBankaccountEx = new BankaccountMySqlExtDAO();
$myBankaccountDAO = new BankaccountMySqlDAO();
//Kempiala
$myKempialaEx = new KempialaMySqlExtDAO();
//Supplier
$mySupplierRecord = new SupplierMySqlDAO();
$mySupplierEx = new SupplierMySqlExtDAO();
//Capital
$myCapitalRecord = new CapitalMySqlDAO();
$myCapitalEx = new CapitalMySqlExtDAO();
//Client
$myClientRecord = new ClientMySqlDAO();
$myClientEx = new ClientMySqlExtDAO();
//Datedchecked
$DatedcheckedDAO = new DatedcheckedMySqlDAO();
$Datedchecked = new Datedchecked();
$DatedcheckedEX = new DatedcheckedMySqlExtDAO();
//Asset
$myAssetEx = new AssetsMySqlExtDAO();
$myAssetDAO = new AssetsMySqlDAO();
//Partnerwithdrawal
$myPartnerwithdrawal = new Partnerwithdrawal();
$myPartnerwithdrawalRecord = new PartnerwithdrawalMySqlDAO();
$myPartnerwithdrawalEx = new PartnerwithdrawalMySqlExtDAO();
$youtubeLink = new YoutubeLink();
$youtubeLinkDAO = new YoutubeLinkMySqlDAO();
$youtubeLinkEX = new YoutubeLinkMySqlExtDAO();
//Breadcrumb
$breadcrumbObject = new Breadcrumb();
$ProgramsettingDAO = new ProgramsettingsMySqlDAO();
$Programsetting = $ProgramsettingDAO->load(1);
$smarty->assign("Programsetting", $Programsetting);
//check and use the condetion that suite this action
if ($do == "show" || empty($do)) {
include_once("../public/authentication.php");
//Bankaccount
$totalaccount = Bankaccount();
$smarty->assign("totalaccount", $totalaccount);
//clientdebt
$totalclientdebt = clientdebt();
$smarty->assign("totalclientdebt", $totalclientdebt);
//supplierdebt
$totalsupplierdebt = supplierdebt();
$smarty->assign("totalsupplierdebt", $totalsupplierdebt);
$youtubes = $youtubeLinkDAO->queryAll();
$smarty->assign("youtubes", $youtubes);
//kempilavalue
$totalkempilavalue = kempilavalue();
$smarty->assign("totalkempilavalue", $totalkempilavalue);
$productserialvalue = productserialvalue();
$smarty->assign("productserialvalue", ceil($productserialvalue));
//clientcheckvalue
$totalclientcheck = clientcheckvalue();
$smarty->assign("totalclientcheck", $totalclientcheck);
//suppliercheckvalue
$totalsuppliercheck = suppliercheckvalue();
$smarty->assign("totalsuppliercheck", $totalsuppliercheck);
//totalproductinstores
$totalprice = totalproduct();
$smarty->assign("totalprice", $totalprice);
//savevalue
$savevaluex = savevalue();
$smarty->assign("savevaluex", $savevaluex);
//totalmoneyforyou
$forYou = totalmoneyforyou();
$smarty->assign("forYou", $forYou);
//totaltoyou
$forTox = totaltoyou();
$smarty->assign("forTox", $forTox);
//Profits
$totalProfits = Profits();
$smarty->assign("totalProfits", $totalProfits);
//allcapitalvalue
$totalcapitalmoney = allcapitalvalue();
$smarty->assign("totalcapitalmoney", $totalcapitalmoney);
$Fixedassetsdata = Fixedassets();
$smarty->assign("Fixedassetsdata", $Fixedassetsdata);
$totalFixedassetsvalue = calculateFixedassets();
$smarty->assign("totalFixedassetsvalue", $totalFixedassetsvalue);
$totalcollection = collection();
$smarty->assign("totalcollection", $totalcollection);
$totalCurrentassets = Currentassets();
$smarty->assign("totalCurrentassets", $totalCurrentassets);
$totalCurrentliabilities = Currentliabilities();
$smarty->assign("totalCurrentliabilities", $totalCurrentliabilities);
$totalallmoney = allmoney();
$smarty->assign("totalallmoney", $totalallmoney);
$totalpartnercheck = partnervalue();
$smarty->assign("totalpartnercheck", $totalpartnercheck);
$totalPropertyrights = Propertyrights();
$smarty->assign("totalPropertyrights", $totalPropertyrights);
//here the smarty templates
$smarty->display("FinancialPositionview/show.html");
} elseif ($do == "sucess") {
//here the smarty templates
$smarty->display("succes.html");
} elseif ($do == "error") {
//here the smarty templates
$smarty->display("error.html");
}
//here the global templates
$smarty->display("footer.html");
/* ===============================
function in this CONTROLLER
================================ */
function productserialvalue() {
$rResult = round(R::getCell("SELECT sum((buybilldetailprice * don) + ((buybilldetailprice * don * payedtax) / 100)) as totals
FROM productserial
left join buybilldetail on buybilldetail.buybilldetailid = productserial.buybilldetailid
left join buybill on buybilldetail.buybillid = buybill.buybillid
WHERE productserial.don > 0 and productserial.del = 0"), 2);
return $rResult;
}
//Bankaccount
function Bankaccount() {
global $myBankaccountEx;
$allbankdata = $myBankaccountEx->queryAllforbankaccount();
$totalaccount;
foreach ($allbankdata as $bankdata) {
$totalaccount += $bankdata->accountbeginingbalance;
}
return $totalaccount;
}
//clientdebt
function clientdebt() {
global $myClientRecord;
$allclientdata = $myClientRecord->queryByCondition(0);
$totalclientdebt;
foreach ($allclientdata as $clientdata) {
$totalclientdebt += $clientdata->clientdebt;
}
return $totalclientdebt;
}
//supplierdebt
function supplierdebt() {
global $mySupplierRecord;
$allsupplierdata = $mySupplierRecord->queryByCondition(0);
$totalsupplierdebt;
foreach ($allsupplierdata as $supplierdata) {
$totalsupplierdebt += $supplierdata->suppliercurrentDebt;
}
return $totalsupplierdebt;
}
//kempilavalue
function kempilavalue() {
global $myKempialaEx;
$today = date("Y-m-d");
//avilable kempila
// $allavailabledata = $myKempialaEx->queryAlllavilablekempila(0, $today);
$allavailabledata = $myKempialaEx->queryAlllavilablekempila2(0, $today);
$totalkempilavalue;
$totalavailablekempila;
foreach ($allavailabledata as $avilabledata) {
$totalavailablekempila += $avilabledata->value;
}
//expire kempila
// $allexpiredata = $myKempialaEx->queryAllexpierkempila(0, $today);
$allexpiredata = $myKempialaEx->queryAllexpierkempila2(0, $today);
$totalexpirekempila;
foreach ($allexpiredata as $expiredata) {
$totalexpirekempila += $expiredata->value;
}
//$totalkempilavalue = $totalavailablekempila + $totalexpirekempila;
$totalkempilavalue = $totalavailablekempila;
return $totalkempilavalue;
}
//clientcheckvalue
function clientcheckvalue() {
global $DatedcheckedEX;
// $allcheckforclient = $DatedcheckedEX->queryallcheckforclientfinancial(0);
$allcheckforclient = $DatedcheckedEX->queryallcheckforclientfinancial2(0);
$totalclientcheck;
foreach ($allcheckforclient as $clientcheck) {
$totalclientcheck += $clientcheck->checkValue;
}
return $totalclientcheck;
}
function partnervalue() {
// global $myPartnerwithdrawalRecord;
//$allpartner = $myPartnerwithdrawalRecord->queryByConditions(0);
// $totalpartnercheck = 0;
// $totalone = 0;
//$totaltwo = 0;
// foreach ($allpartner as $partner) {
// var_dump($partner);
// if ($partner->partenrwithdrawaltype == 0) {
//$totalone += $partner->partnerwithdrawalvalue;
// var_dump($totalone);
//} else {
// $totaltwo += $partner->partnerwithdrawalvalue;
// var_dump($totaltwo);
// }
// $totalpartnercheck +=$partner->partnerwithdrawalvalue;
//}
// $totalpartnercheck += $totalone - $totaltwo;
$totalpartnercheck = R::getCell("SELECT sum(partnermoney) FROM partner where partner.conditions = 0 ");
return $totalpartnercheck;
}
//suppliercheckvalue
function suppliercheckvalue() {
global $DatedcheckedEX;
// $allcheckforsupplier = $DatedcheckedEX->queryallcheckforclientfinancial(1);
$allcheckforsupplier = $DatedcheckedEX->queryallcheckforclientfinancial2(1);
$totalsuppliercheck;
foreach ($allcheckforsupplier as $suppliercheck) {
$totalsuppliercheck += $suppliercheck->checkValue;
}
return $totalsuppliercheck;
}
//totalproduct
//function totalproduct() {
// global $myStoredetailDAO;
// global $myStoredetailEx;
// global $myProductRecord;
//
// $allstoredata = $myStoredetailEx->queryallstoredata();
//
// $totalprice;
// $lastTotal;
// $meanTotal;
//
//
// //print_r('<pre>=================');
//
// foreach ($allstoredata as $storedata) {
//
// $quantity = $storedata->productquantity;
// $buyprice = $storedata->productBuyPrice;
// $lastbuyprice = $storedata->lastbuyprice;
// $meanbuyprice = $storedata->meanbuyprice;
//
// $totalprice +=$quantity * $lastbuyprice;
//
//// $totalprice +=$quantity * $buyprice;
//// $lastTotal += $quantity * $lastbuyprice;
//// $meanTotal += $quantity * $meanbuyprice;
// }
//// print_r('<br>$totalprice = ' . $totalprice . '');
//// print_r('<br>$lastTotal = ' . $lastTotal . '');
//// print_r('<br>$meanTotal = ' . $meanTotal . '');
//// print_r('<pre>');
//
//
//
// return $totalprice;
//}
function totalproduct() {
global $myStoredetailDAO;
global $myStoredetailEx;
global $myProductRecord;
global $ProgramsettingDAO;
global $smarty;
$allstoredata = $myStoredetailEx->queryallstoredata();
$totalprice;
$lastTotal;
$meanTotal;
//print_r('<pre>=================');
$Programsetting = $ProgramsettingDAO->load(1);
$mess = "";
switch ($Programsetting->Inventoryevaluation) {
case "first":
$mess .= " تقييم ب سعر شراء ";
break;
case "last":
$mess .= " تقييم بـ اخر سعر شراء";
break;
case "mean":
$mess .= " تقييم بـ متوسط سعر الشراء";
break;
case "last_discount":
$mess .= " تقييم بـ اخر سعر شراء بعد الخصم";
break;
case "mean_discount":
$mess .= " تقييم بـ متوسط سعر الشراء بعد الخصم";
break;
case "generalPrice":
$mess .= " تقييم بـ المتوسط العام ";
break;
}
$smarty->assign("mess", $mess);
foreach ($allstoredata as $storedata) {
// var_dump($storedata);
switch ($Programsetting->Inventoryevaluation) {
case "first":
$buyprice = (float) $storedata->productBuyPrice;
break;
case "last":
$buyprice = (float) $storedata->lastbuyprice;
break;
case "mean":
$buyprice = (float) $storedata->meanbuyprice;
break;
case "last_discount":
$buyprice = (float) $storedata->lastbuyprice_withDiscount;
break;
case "mean_discount":
$buyprice = (float) $storedata->meanbuyprice_withDiscount;
break;
case "generalPrice":
$buyprice = (float) $storedata->overAllAveragePrice;
break;
}
$quantity = $storedata->productquantity;
// $buyprice = $storedata->productBuyPrice;
// $lastbuyprice = $storedata->lastbuyprice;
// $meanbuyprice = $storedata->meanbuyprice;
$totalprice += $quantity * $buyprice;
// $totalprice +=$quantity * $buyprice;
// $lastTotal += $quantity * $lastbuyprice;
// $meanTotal += $quantity * $meanbuyprice;
}
// print_r('<br>$totalprice = ' . $totalprice . '');
// print_r('<br>$lastTotal = ' . $lastTotal . '');
// print_r('<br>$meanTotal = ' . $meanTotal . '');
// print_r('<pre>');
return $totalprice;
}
//savevalue
function savevalue() {
global $mySaveRecord;
global $mySaveEx;
//$allsavedata = $mySaveRecord->queryAll();
$allsavedata = $mySaveEx->queryAllEX2();
$savevaluex;
foreach ($allsavedata as $savedata) {
//$savevaluex += $savedata->savecurrentvalue;
$savevaluex += $savedata->savecurrentvalueInMainCurrency;
}
return $savevaluex;
}
//totalmoneyforyou
function totalmoneyforyou() {
$totalFixedassetsvalue = calculateFixedassets();
$totalCurrentassets = Currentassets();
$forYou = $totalFixedassetsvalue + $totalCurrentassets;
return $forYou;
}
//totalmoneytoyou
function Currentliabilities() {
$totalsuppliercheck = suppliercheckvalue();
$totalsupplierdebt = supplierdebt();
$totalCurrentliabilities = $totalsuppliercheck + $totalsupplierdebt;
return $totalCurrentliabilities;
}
function allmoney() {
$totalpartnercheck = partnervalue();
$totalcapitalmoney = allcapitalvalue();
$totalallmoney = $totalcapitalmoney + $totalpartnercheck;
return $totalallmoney;
}
//Profits
function Profits() {
$forYou = totalmoneyforyou();
$totalCurrentliabilities = Currentliabilities();
$totalallmoney = allmoney();
$totalProfits = round(($forYou - $totalCurrentliabilities - $totalallmoney), 2);
return $totalProfits;
}
//allcapitalvalue
function allcapitalvalue() {
global $myCapitalRecord;
$allcapitaldata = $myCapitalRecord->queryAll();
$totalcapitalmoney;
foreach ($allcapitaldata as $capitaldata) {
$totalcapitalmoney += $capitaldata->capitalamount;
}
return $totalcapitalmoney;
}
function Propertyrights() {
$totalallmoney = allmoney();
$totalProfits = Profits();
$totalPropertyrights = $totalallmoney + $totalProfits;
return $totalPropertyrights;
}
//totalmoneytoyou
function totaltoyou() {
$totalCurrentliabilities = Currentliabilities();
$totalPropertyrights = Propertyrights();
$forTox = $totalCurrentliabilities + $totalPropertyrights;
return $forTox;
}
//fixedassets
function Fixedassets() {
global $myAssetEx;
$Fixedassetsdata = $myAssetEx->queryallassetcategory();
$totalassetvalue;
foreach ($Fixedassetsdata as $assetdata) {
$totalassetvalue += $assetdata->assetsValue;
}
return $Fixedassetsdata;
}
//calculateFixedassets
function calculateFixedassets() {
global $myAssetEx;
$Fixedassetsdata = $myAssetEx->queryallassetcategory();
$totalFixedassetsvalue;
foreach ($Fixedassetsdata as $assetdata) {
$totalFixedassetsvalue += $assetdata->sumasset;
}
return $totalFixedassetsvalue;
}
function collection() {
//kempilavalue
$totalkempilavalue = kempilavalue();
//clientcheckvalue
$totalclientcheck = clientcheckvalue();
$totalcollection = $totalkempilavalue + $totalclientcheck;
return $totalcollection;
}
//Currentassets
function Currentassets() {
$totalaccount = Bankaccount();
$totalclientdebt = clientdebt();
$totalprice = totalproduct();
$savevaluex = savevalue();
$totalcollection = collection();
$productserialvalue = productserialvalue();
// if ($ProgramsettingDAO->inventoryvaluation == 0) {
// $totalprice = $productserialvalue;
// }
$totalCurrentassets = $totalaccount + $totalclientdebt + $totalcollection + $totalprice + $savevaluex;
return $totalCurrentassets;
}
?>