File: /home/mostafedeg/public_html/erp/controllers/assetController.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");
include_once("dailyentryfun.php");
//here the db files that include in the file
include("../public/include_dao.php");
//Assets
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');
//Assetssale
require_once('../models/dao/AssetssaleDAO.class.php');
require_once('../models/dto/Assetssale.class.php');
require_once('../models/mysql/AssetssaleMySqlDAO.class.php');
require_once('../models/mysql/ext/AssetssaleMySqlExtDAO.class.php');
//Assetscat
require_once('../models/dao/AssetscatDAO.class.php');
require_once('../models/dto/Assetscat.class.php');
require_once('../models/mysql/AssetscatMySqlDAO.class.php');
require_once('../models/mysql/ext/AssetscatMySqlExtDAO.class.php');
//Checkcontroller
require_once('../models/dao/CheckcontrollerDAO.class.php');
require_once('../models/dto/Checkcontroller.class.php');
require_once('../models/mysql/CheckcontrollerMySqlDAO.class.php');
require_once('../models/mysql/ext/CheckcontrollerMySqlExtDAO.class.php');
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');
require_once('../models/dao/AccountmovementDAO.class.php');
require_once('../models/dto/Accountmovement.class.php');
require_once('../models/mysql/AccountmovementMySqlDAO.class.php');
require_once('../models/mysql/ext/AccountmovementMySqlExtDAO.class.php');
require_once('../models/dao/BankDAO.class.php');
require_once('../models/dto/Bank.class.php');
require_once('../models/mysql/BankMySqlDAO.class.php');
require_once('../models/mysql/ext/BankMySqlExtDAO.class.php');
require_once('../models/dao/CheckwithdrawalDAO.class.php');
require_once('../models/dto/Checkwithdrawal.class.php');
require_once('../models/mysql/CheckwithdrawalMySqlDAO.class.php');
require_once('../models/mysql/ext/CheckwithdrawalMySqlExtDAO.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');
//Savedaily
require_once('../models/dao/SavedailyDAO.class.php');
require_once('../models/dto/Savedaily.class.php');
require_once('../models/mysql/SavedailyMySqlDAO.class.php');
require_once('../models/mysql/ext/SavedailyMySqlExtDAO.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');
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');
//Breadcrumb
require_once("../library/breadcrumb.php");
//get the do the action
$do = $_GET['do'];
$langs = $_SESSION['erp_lang'];
include_once("../views/languages/$langs/success.php");
include_once("../views/languages/$langs/error.php");
/* ======================
Controller Name :- assetsCTRL
OPERTATION in Controller
1-display add form
2- add in Assets tble
3-display sucess or error
4-display show form
5-delete from Assets tbl
6-edit in Assets data
======================== */
//here the global templates
$smarty->display("header.html");
//here goes the instances and general variables
$myAssets = new Asset();
$myAssetsRecord = new AssetsMySqlDAO();
$myAssetsEx = new AssetsMySqlExtDAO();
$myAssetssale = new Assetssale();
$myAssetssaleDAO = new AssetssaleMySqlDAO();
$myAssetssaleEx = new AssetssaleMySqlExtDAO();
$Assetscat = new Assetscat();
$AssetscatDAO = new AssetscatMySqlDAO();
$AssetscatEX = new AssetscatMySqlExtDAO();
//creating objects
$checkWithdrawalDAO = new CheckwithdrawalMySqlDAO;
$checkWithdrawalExtDAO = new CheckwithdrawalMySqlExtDAO;
$checkWithdrawal = new Checkwithdrawal;
$account = new Bankaccount();
$accountDAO = new BankaccountMySqlDAO;
$accountExtDAO = new BankaccountMySqlExtDAO;
$accountMoveDAO = new AccountmovementMySqlDAO;
$accountMove = new Accountmovement;
$bankDAO = new BankMySqlDAO;
$bank = new Bank;
$bankExtDAO = new BankMySqlExtDAO;
//mySave
$mySave = new Save();
$mySaveRecord = new SaveMySqlDAO();
$mySaveEx = new SaveMySqlExtDAO();
//Savedaily
$mySavedaily = new Savedaily();
$mySavedailyRecord = new SavedailyMySqlDAO();
$mySavedailyEx = new SavedailyMySqlExtDAO();
//Checkcontroller
$Checkcontroller = new Checkcontroller();
$CheckcontrollerDAO = new CheckcontrollerMySqlDAO();
$CheckcontrollerEX = new CheckcontrollerMySqlExtDAO();
//Accountmovement
$accountMoveDAO = new AccountmovementMySqlDAO;
$accountMove = new Accountmovement;
//Breadcrumb
$breadcrumbObject = new Breadcrumb();
//Accountstree
$accountsTree = new Accountstree();
$accountsTreeDAO = new AccountstreeMySqlDAO();
$accountsTreeEX = new AccountstreeMySqlExtDAO();
$Asset = new Asset();
$AssetDAO = new AssetsMySqlDAO();
$AssetEX = new AssetsMySqlExtDAO();
//Dailyentry
$dailyEntry = new Dailyentry();
$dailyEntryDAO = new DailyentryMySqlDAO();
$dailyEntryEX = new DailyentryMySqlExtDAO();
//Dailyentrycreditor دائن
$dailyEntryCreditor = new Dailyentrycreditor();
$dailyEntryCreditorDAO = new DailyentrycreditorMySqlDAO();
$dailyEntryCreditorEX = new DailyentrycreditorMySqlExtDAO();
//Dailyentrydebtor مدين
$dailyEntryDebtor = new Dailyentrydebtor();
$dailyEntryDebtorDAO = new DailyentrydebtorMySqlDAO();
$dailyEntryDebtorEX = new DailyentrydebtorMySqlExtDAO();
//Bankaccount
$myBankaccount = new Bankaccount();
$myBankaccountRecord = new BankaccountMySqlDAO();
$myBankaccountEx = new BankaccountMySqlExtDAO();
//Dailyentry
$dailyEntry2 = new Dailyentry();
$dailyEntryDAO2 = new DailyentryMySqlDAO();
$dailyEntryEX2 = new DailyentryMySqlExtDAO();
//Dailyentrycreditor دائن
$dailyEntryCreditor2 = new Dailyentrycreditor();
$dailyEntryCreditorDAO2 = new DailyentrycreditorMySqlDAO();
$dailyEntryCreditorEX2 = new DailyentrycreditorMySqlExtDAO();
//Dailyentrydebtor مدين
$dailyEntryDebtor2 = new Dailyentrydebtor();
$dailyEntryDebtorDAO2 = new DailyentrydebtorMySqlDAO();
$dailyEntryDebtorEX2 = new DailyentrydebtorMySqlExtDAO();
//Client
$clientDAO = new ClientMySqlDAO();
$client = new Client();
$clientEX = new ClientMySqlExtDAO();
//Store
$myStoreRecord = new StoreMySqlDAO();
$youtubeLink = new YoutubeLink();
$youtubeLinkDAO = new YoutubeLinkMySqlDAO();
$youtubeLinkEX = new YoutubeLinkMySqlExtDAO();
//supplier
$supplier = new Supplier();
$supplierDao = new SupplierMySqlDAO();
$supplierExt = new SupplierMySqlExtDAO();
//Supplierdebtchange
$supplierDeptChange = new Supplierdebtchange();
$supplierDeptChangeDAO = new SupplierdebtchangeMySqlDAO();
$supplierDeptChangeExt = new SupplierdebtchangeMySqlExtDAO();
//check and use the condition that suite this action
if (empty($do)) {
//here the permission check
include_once("../public/authentication.php");
$bank = $bankExtDAO->queryAllExt();
//print_r($bank);
$smarty->assign("bank", $bank);
$savedata = $mySaveRecord->queryAll();
$smarty->assign("savedata", $savedata);
$allSuppliers = $supplierDao->queryAll();
$smarty->assign("allSuppliers", $allSuppliers);
$savebefor = getSaveValueBefore();
$smarty->assign("savebefor", $savebefor);
$allctadata = showallcat();
$smarty->assign("allctadata", $allctadata);
$type = $_GET["type"];
$smarty->assign("type", $type);
if ($type != 0) { //add new asset
$smarty->display("assetsview/add.html");
} else {
// add old asset
$smarty->display("assetsview/addold.html");
}
} elseif ($do == "add") {
include_once("../public/authentication.php");
try {
add();
header("location:?do=sucess");
} catch (Exception $e) {
//echo $e;
header("location:?do=error");
}
} elseif ($do == "show") {
include_once("../public/authentication.php");
$youtubes = $youtubeLinkDAO->queryAll();
$smarty->assign("youtubes", $youtubes);
// here the function that do the action
$assetsearchData = loadAsset();
$smarty->assign('assetsearchData', $assetsearchData);
$clientdata = $clientDAO->queryAll();
$smarty->assign("clientdata", $clientdata);
$savedata = $mySaveRecord->queryAll();
$smarty->assign("savedata", $savedata);
$assetId = $_REQUEST['assetId'];
if (isset($assetId) && $assetId != "-1") {
$messageData = $myAssetsRecord->load($assetId);
$message = "إسم الأصل: " . $messageData->assetsName;
$smarty->assign("message", $message);
showByassetName();
} else {
showAll();
}
//here the smarty templates
$smarty->display("assetsview/show.html");
} elseif ($do == "delete") {
include_once("../public/authentication.php");
$type = $_REQUEST['type'];
$assetId = $_REQUEST['assetId'];
try {
$note = delete($type, $assetId);
// print_r($note);
if ($note !== "sucess") {
$url = "assetTypeController.php?do=show";
$smarty->assign('urldirect', $url);
$note = $note;
$smarty->assign('msgnote', $note);
$smarty->display("notes.html");
} else {
header("location:?do=sucess");
}
} catch (Exception $e) {
header("location:?do=error");
}
} elseif ($do == "edit") {
include_once("../public/authentication.php");
$assetId = $_GET['assetId'];
$loadData = edit($assetId);
$smarty->assign("loadData", $loadData);
$savedata = $mySaveRecord->queryAll();
$smarty->assign("savedata", $savedata);
$allSuppliers = $supplierDao->queryAll();
$smarty->assign("allSuppliers", $allSuppliers);
$allctadata = showallcat();
$smarty->assign("allctadata", $allctadata);
$type = $_GET["type"];
if ($loadData->paytype == 1) {
$checkdata = getcheckdata($assetId);
$bankAccounts = $myBankaccountRecord->queryByBankid($checkdata->bankid);
$smarty->assign('bankAccounts', $bankAccounts);
$smarty->assign("showData", $checkdata);
}
//bank
$bank = $bankExtDAO->queryAllExt();
$smarty->assign("bank", $bank);
$smarty->assign("type", $type);
$smarty->display("assetsview/edit.html");
} elseif ($do == "assetsaleadd") {
assetsaleadd();
} elseif ($do == "assetsalecheck") {
assetsalecheck();
} elseif ($_GET['do'] == "executeOperation") {
try {
execute();
showAll();
$smarty->display("assetsview/show.html");
} catch (Exception $e) {
$smarty->display("error.html");
}
} elseif ($do == "editprint") {
include_once("../public/authentication.php");
$id = $_GET["id"];
$loadData = edit($id);
$smarty->assign("loadData", $loadData);
$allctadata = showallcat();
$smarty->assign("allctadata", $allctadata);
$type = $loadData->type;
if ($type == 2) {
$checkdata = getcheckdata($id);
$smarty->assign("showData", $checkdata);
}
//bank
$bank = $bankExtDAO->queryAllExt();
$smarty->assign("bank", $bank);
$smarty->assign("type", $type);
$smarty->assign("customPrint", 1);
$smarty->display("assetsview/editprint.html");
} elseif ($do == "update") {
include_once("../public/authentication.php");
try {
$assetId = $_POST['assetId'];
$assetData = $myAssetsRecord->load($assetId);
$_GET['action'] = $assetData->dailyentryid;
delete($assetData->type, $assetData->assetId);
$_POST["Add"] = 1;
add();
// update();
header("location:?do=sucess");
} catch (Exception $e) {
// echo $e;
// die();
header("location:?do=error");
}
} 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->assign("customValidation", 1);
$smarty->assign("customAssets", 1);
$smarty->display("footer.html");
/* ===============================
function in this CONTROLLER
================================ */
// load Assets data
function loadAsset() {
//to use the variable out side the funcion
global $myAssetsRecord;
//select all data data in Assets tbl
$assetsearchData = $myAssetsRecord->queryAll();
return $assetsearchData;
}
function assetsaleadd() {
//to use the variable out side the funcion
global $myAssetssale;
global $myAssetssaleDAO;
global $myAssetssaleEx;
//save
global $mySave;
global $mySaveRecord;
$assetssaleclient = $_POST['assetssaleclient'];
$assetssalesave = $_POST['assetssalesave'];
$assetssaleval = $_POST['assetssaleval'];
$assetssalecomment = $_POST['assetssalecomment'];
$assetssaledate = $_POST['assetssaledate'];
$assetsid = $_POST['assetsidm'];
//insert data in Assets tbl
$myAssetssale->assetssaleclient = $assetssaleclient;
$myAssetssale->assetssalesave = $assetssalesave;
$myAssetssale->assetssalecomment = $assetssalecomment;
$myAssetssale->assetssaleval = $assetssaleval;
$myAssetssale->assetssaledate = $assetssaledate;
$myAssetssale->assetsid = $assetsid;
$myAssetssale->assetssaledateadd = date("Y-m-d");
$myAssetssaleres = $myAssetssaleDAO->insert($myAssetssale);
R::exec("UPDATE `save` SET `savecurrentvalue`= savecurrentvalue + $assetssaleval WHERE saveid = $assetssalesave");
R::exec("UPDATE `assets` SET `assetsValue`= 0 WHERE assetId = $assetsid");
$savebefor = getSaveValueBefore($saveid);
insertSavedaily(
$savebefor,
$assetssaleval,
0,
$assetssalesave,
'بيع اصل',
$assetsid,
($savebefor - $assetssaleval),
'assetController.php'
);
}
// add in Assets tbl
function add() {
//to use the variable out side the funcion
global $myAssets;
global $myAssetsRecord;
global $accountsTreeDAO;
global $accountsTree;
global $AssetscatEX;
global $AssetscatDAO;
global $Assetscat;
//bankaccount
global $myBankaccount;
global $myBankaccountRecord;
//save
global $mySave;
global $mySaveRecord;
//Dailyentry
global $dailyEntry;
global $dailyEntryDAO;
//Dailyentrycreditor دائن
global $dailyEntryCreditor;
global $dailyEntryCreditorDAO;
//Dailyentrydebtor مدين
global $dailyEntryDebtor;
global $dailyEntryDebtorDAO;
//Dailyentry
global $dailyEntry2;
global $dailyEntryDAO2;
//Dailyentrycreditor دائن
global $dailyEntryCreditor2;
global $dailyEntryCreditorDAO2;
//Dailyentrydebtor مدين
global $dailyEntryDebtor2;
global $dailyEntryDebtorDAO2;
//supplier
global $supplier;
global $supplierDao;
global $supplierExt;
//supplier debt change
global $supplierDeptChange;
global $supplierDeptChangeDAO;
global $supplierDeptChangeExt;
$assetName = $_POST['assetname'];
$assetPrice = $_POST['assetprice'];
$assetsDepreciation = $_POST['assetsDepreciation'];
$assetDescription = $_POST['assetdescription'];
$type = $_POST["type"];
if (!isset($type) || empty($type)) {
$type = 0;
}
$depreciation = $_POST["depreciation"];
$Hourlyrate = $_POST["Hourlyrate"];
$assetscatid = $_POST["assetscatid"];
$manufacture = $_POST["manufacture"];
$accountid = $_POST["accountid"];
$checkAddPage = $_POST["Add"];
$saveid = $_POST["saveid"];
$paytype = $_POST["paytype"];
$supplierid = $_POST['supplierid'];
if ($saveid < 1) {
$saveid = $_SESSION['saveid'];
}
if (!isset($paytype))
$paytype = 0;
//insert data in Assets tbl
$myAssets->assetsDepreciation = $assetDescription;
$myAssets->manufacture = $manufacture;
$myAssets->assetsName = $assetName;
$myAssets->assetsValue = $assetPrice;
$myAssets->assetsDate = date("Y-m-d");
$myAssets->conditions = 0;
$myAssets->userid = $_SESSION['userid'];
$myAssets->type = $type;
$myAssets->depreciation = $depreciation;
$myAssets->Hourlyrate = $Hourlyrate;
$myAssets->assetscatid = $assetscatid;
$myAssets->dailyentryid = 0;
$myAssets->saveid = $saveid;
$myAssets->paytype = $paytype;
if (isset($supplierid))
$myAssets->supplierid = $supplierid;
//print_r('Hourlyrate=='.$_POST['Hourlyrate'].'</br>');
$modelid = $myAssetsRecord->insert($myAssets, $assetDescription);
if ($saveid < 1) {
$saveid = $_SESSION['saveid'];
}
if ($type != 0) {
//pay asset from save
if ($paytype == 0) {
$savebefor = getSaveValueBefore($saveid);
// if ($savebefor >= $assetPrice) {
// print_r("in save");
getSaveValueAndMins($assetPrice, $saveid);
updateSave($saveid, ($savebefor - $assetPrice));
insertSavedaily(
$savebefor,
$assetPrice,
1,
$saveid,
'وصل شراء اصل',
$modelid,
($savebefor - $assetPrice),
'assetController.php'
);
// }
}
//pay asset by check
elseif ($paytype == 1) {
//print_r("inbank");
addbanck($modelid);
}
//pay asset by supplier
elseif ($paytype == 2) {
$supplierId = $_POST['supplierid'];
$supplier = $supplierDao->load($supplierId);
$debtbefore = $supplier->suppliercurrentDebt;
// if ($debtbefore >= $assetPrice) {
//Transaction
// $mytransactions = new Transaction();
try {
$supplierdata = getSupplierDataFromSupplierInUseSP($supplierId);
$debtBefore = $supplierdata->suppliercurrentDebt;
$debtAfter = $debtBefore + $assetPrice;
$supplierdebtchangemodelid = $modelid;
//insert into supplierdeptchange tbl
$supplierDeptChange->comment = $assetsDepreciation;
$supplierDeptChange->processname = "شراء أصل جدبد ";
$supplierDeptChange->supplierdebtchangeafter = $debtAfter;
$supplierDeptChange->supplierdebtchangeamount = $assetPrice;
$supplierDeptChange->supplierdebtchangebefore = $debtBefore;
$supplierDeptChange->supplierdebtchangedate = date("Y-m-d H:i:s");
$supplierDeptChange->supplierdebtchangemodelid = $supplierdebtchangemodelid;
$supplierDeptChange->supplierdebtchangetype = 0;
$supplierDeptChange->tablename = "assetController.php?type=1";
$supplierDeptChange->userid = $_SESSION['userid'];
$supplierDeptChange->supplierid = $supplierId;
$supplierDeptChange->dailyentryid = 0;
//Insert
$supplierDeptChangeId = $supplierDeptChangeDAO->insert($supplierDeptChange);
if (isset($supplierDeptChangeId)) {
$suppData = $supplierDao->load($supplierId);
//update current dept in supplier tbl
$supplier->suppliercurrentDebt = $debtAfter;
$supplier->suppliercurrentDebtInCurrency = $debtAfter;
$supplier->userid = $_SESSION['userid'];
$supplier->supplierdate = date("Y-m-d H:i:s");
$supplier->supplierid = $supplierId;
$supplierExt->updatedept($supplier);
markSupplierAsNOTInUse($supplierId);
}
} catch (Exception $ex) {
// $mytransactions->rollback();
markSupplierAsNOTInUse($_POST["supplierid"]);
}
// }
}
}
$loadAsset = $AssetscatDAO->load($assetscatid);
$treeId = $loadAsset->treeId;
if ($treeId < 1) {
$assetscatTreedata = $accountsTreeDAO->queryByCustomName($loadAsset->cattitel);
$treeId = $assetscatTreedata[0]->id;
}
//////////////// End Al-Asl
/// start load asset id
//
/// end load asset id
if ($checkAddPage == 1) {
if ($paytype == 0) {
$dailyEntry->entryComment = 'اضافة اصل جديد (' . $assetName . ')';
$dailyEntry->reverseofid = 0;
//////////////// start Al-Asl
$dailyEntryDebtorArray = array();
$dailyEntryDebtor->value = $assetPrice;
$aslId = addTreeElement($assetName, $treeId, 3, 0, 1, '', 0, 0);
$dailyEntryDebtor->accountstreeid = $aslId;
//////////////// End Al-Asl
//
//////////////// start save data
$dailyEntryCreditorArray = array();
$dailyEntryCreditor->value = $assetPrice;
//save session
$saveid = $saveid;
$dataSave = $mySaveRecord->load($saveid);
$idTreeSave = $dataSave->treeId;
$dailyEntryCreditor->accountstreeid = $idTreeSave;
//end save data
array_push($dailyEntryDebtorArray, $dailyEntryDebtor);
array_push($dailyEntryCreditorArray, $dailyEntryCreditor);
$returnedData = insertEntery($dailyEntry, $dailyEntryDebtorArray, $dailyEntryCreditorArray, 0, $modelid, "assetController.php?do=editprint&id=$modelid");
$did = $returnedData[1];
$myAssets = $myAssetsRecord->load($modelid);
$myAssets->dailyentryid = $did;
$myAssets->treeId = $aslId;
$myAssets->supplierid = $myAssets->supplierid ?: 0;
$myAssetsRecord->update($myAssets, $assetDescription);
} elseif ($paytype == 1) {
$dailyEntry->entryComment = 'اضافة اصل جديد (' . $assetName . ')';
$dailyEntry->reverseofid = 0;
//////////////// start Al-Asl
$dailyEntryDebtorArray = array();
$dailyEntryDebtor->value = $assetPrice;
$aslId = addTreeElement($assetName, $treeId, 3, 0, 1, '', 0, 0);
$dailyEntryDebtor->accountstreeid = $aslId;
//////////////// End Al-Asl
//////////////// start bankAccount data
$dailyEntryCreditorArray = array();
$dailyEntryCreditor->value = $assetPrice;
//save session
$dataBankAccount = $myBankaccountRecord->load($accountid);
$idTreeBankAccount = $dataBankAccount->treeId;
$dailyEntryCreditor->accountstreeid = $idTreeBankAccount;
//end save data
array_push($dailyEntryDebtorArray, $dailyEntryDebtor);
array_push($dailyEntryCreditorArray, $dailyEntryCreditor);
$returnedData = insertEntery($dailyEntry, $dailyEntryDebtorArray, $dailyEntryCreditorArray, 0, $modelid, "assetController.php?do=editprint&id=$modelid");
$did = $returnedData[1];
$myAssets = $myAssetsRecord->load($modelid);
$myAssets->dailyentryid = $did;
$myAssets->treeId = $aslId;
$myAssets->supplierid = $myAssets->supplierid ?: 0;
$myAssetsRecord->update($myAssets, $assetDescription);
} elseif ($paytype == 2) {
$dailyEntry->entryComment = 'اضافة اصل جديد (' . $assetName . ')';
$dailyEntry->reverseofid = 0;
//////////////// start Al-Asl
$dailyEntryDebtorArray = array();
$dailyEntryDebtor->value = $assetPrice;
$aslId = addTreeElement($assetName, $treeId, 3, 0, 1, '', 0, 0);
$dailyEntryDebtor->accountstreeid = $aslId;
//////////////// End Al-Asl
//////////////// start bankAccount data
$dailyEntryCreditorArray = array();
$dailyEntryCreditor->value = $assetPrice;
//supplier data
$supplier = $supplierDao->load($supplierId);
$dailyEntryCreditor->accountstreeid = $supplier->treeId;
//end supplierdata
array_push($dailyEntryDebtorArray, $dailyEntryDebtor);
array_push($dailyEntryCreditorArray, $dailyEntryCreditor);
$returnedData = insertEntery($dailyEntry, $dailyEntryDebtorArray, $dailyEntryCreditorArray, 0, $modelid, "assetController.php?do=editprint&id=$modelid");
$did = $returnedData[1];
$myAssets = $myAssetsRecord->load($modelid);
$myAssets->dailyentryid = $did;
$myAssets->treeId = $aslId;
$myAssetsRecord->update($myAssets, $assetDescription);
}
} else {
$dailyEntry->entryComment = 'اضافة اصل قديم (' . $assetName . ')';
//////////////// start Al-Asl
$dailyEntryDebtorArray = array();
$dailyEntryDebtor->value = $assetPrice;
$aslId = addTreeElement($assetName, $treeId, 3, 0, 1, '', 0, 0);
$dailyEntryDebtor->accountstreeid = $aslId;
//////////////// End Al-Asl
///////////// start Ras L maaal
$dailyEntryCreditorArray = array();
$dailyEntryCreditor->value = $assetPrice;
$dailyEntryCreditor->accountstreeid = 121; //راس المال
///////////// end Ras L maaaal
array_push($dailyEntryDebtorArray, $dailyEntryDebtor);
array_push($dailyEntryCreditorArray, $dailyEntryCreditor);
$returnedData_1 = insertEntery($dailyEntry, $dailyEntryDebtorArray, $dailyEntryCreditorArray, 0, $modelid, "assetController.php?do=editprint&id=$modelid");
$did_1 = $returnedData_1[1];
///////من حساب راس المال الي حساب مخصص اهلاك
$dailyEntry2->entryComment = 'اهلاك اصل قديم ' . $assetName;
//////////////// start Rasl L maal
$dailyEntryDebtorArray2 = array();
$dailyEntryDebtor2->value = $depreciation;
$dailyEntryDebtor2->accountstreeid = 121; //راس المال
//////////////// end Rasl L maal
//////////////// start Mogam3 L Hlak
$dailyEntryCreditorArray2 = array();
$dailyEntryCreditor2->value = $depreciation;
$dailyEntryCreditor2->accountstreeid = 8; //مخصصات الاهلاك
//////////////// end Mogam3 L Hlak
array_push($dailyEntryDebtorArray2, $dailyEntryDebtor2);
array_push($dailyEntryCreditorArray2, $dailyEntryCreditor2);
$returnedData = insertEntery($dailyEntry2, $dailyEntryDebtorArray2, $dailyEntryCreditorArray2, 0, $modelid, "assetController.php?do=editprint&id=$modelid");
$did_2 = $returnedData[1];
$myAssets = $myAssetsRecord->load($modelid);
$myAssets->dailyentryid = $did_1 . ',' . $did_2;
$myAssets->treeId = $aslId;
//print_r($myAssets->dailyentryid);
$myAssetsRecord->update($myAssets, $assetDescription);
}
}
function addbanck($modelid) {
global $checkWithdrawal;
global $checkWithdrawalDAO;
global $Checkcontroller;
global $CheckcontrollerDAO;
global $accountMove;
global $accountMoveDAO;
global $accountDAO;
global $accountExtDAO;
global $account;
$accountid = $_POST["accountid"];
$accountnumber = $_POST["accountnumberDis"];
$accountbeginingbalance = $_POST["accountbeginingbalance"];
$checkwithdrawalamount = $_POST["txtAmount"];
$checkwithdrawalnote = $_POST["textNote"];
$checkwithdrawalnumber = $_POST["txtcheckNum"];
$checkwithdrawaluser = $_POST["txtUser"];
$checkwithdrawaldate = date("Y-m-d");
$ddlBank = $_POST["ddlBank"];
$checkWithdrawal->bankaccountid = $accountid;
$checkWithdrawal->supplierid = 0;
$checkWithdrawal->accountnumber = $accountnumber;
$checkWithdrawal->accountbeforevalue = $accountbeginingbalance;
$checkWithdrawal->checkwithdrawalamount = $checkwithdrawalamount;
$checkWithdrawal->checkwithdrawaldate = $checkwithdrawaldate;
$checkWithdrawal->conditions = 0;
$checkWithdrawal->checkwithdrawalnote = $checkwithdrawalnote;
$checkWithdrawal->checkwithdrawalnumber = $checkwithdrawalnumber;
$checkWithdrawal->checkwithdrawaluser = $checkwithdrawaluser;
$checkWithdrawal->userid = $_SESSION['userid'];
$checkWithdrawal->dailyentryid = 0;
$checkWithdrawalId = $checkWithdrawalDAO->insert($checkWithdrawal, $checkwithdrawalnote);
$Checkcontroller->checkid = $checkWithdrawalId;
$Checkcontroller->controllerid = $modelid;
$Checkcontroller->type = "شيك شراء اصل";
$CheckcontrollerDAO->insert($Checkcontroller);
if ($checkWithdrawalId != null) {
$accoundatat = $accountDAO->load($accountid);
$accountBefore = $accoundatat->accountbeginingbalance;
if ($accountBefore >= $checkwithdrawalamount) {
$account->accountbeginingbalance = $accountBefore - $checkwithdrawalamount;
}
$account->accountdate = $checkwithdrawaldate;
$account->accountid = $accountid;
//update
$accountExtDAO->updateacount($account);
//-------------------
//Insert in accountmovement table
$accountMove->accountmovementbefore = $accountBefore;
$accountMove->accountid = $accountid;
$accountMove->bankid = $ddlBank;
$accountMove->accountmovementamount = $checkwithdrawalamount;
$accountMove->accountmovementafter = $accountBefore - $checkwithdrawalamount;
$accountMove->accountmovementtype = 1;
$accountMove->processname = "شراء اصل";
$accountMove->tablename = "assetController.php";
$accountMove->accountmovementmodelid = $modelid;
$accountMove->accountmovementdate = $checkwithdrawaldate;
$accountMove->userid = $_SESSION['userid'];
;
//Insert
$accountMoveDAO->insert($accountMove);
}
}
// show the form
function showByassetName() {
//to use the variable out side the funcion
global $myAssetsEx;
global $myAssetsRecord;
global $smarty;
//select all data from Assets tbl by assetid
$allctadata = showallcat();
$smarty->assign("allctadata", $allctadata);
$allassetdata = $myAssetsRecord->queryAll();
$smarty->assign("allassetdata", $allassetdata);
// required connect
$paginate = new SmartyPaginate;
$paginate->connect();
// set items per page
$paginate->setLimit(2500);
$assetId = $_REQUEST['assetId'];
// get the all colums number
$allColums = $myAssetsRecord->load($assetId);
$paginate->setTotal(count($allColums));
if ($paginate->getCurrentIndex() != -1) {
//get the selected data with limitation
$assetData = $myAssetsEx->loadimted($paginate->getCurrentIndex(), $paginate->getLimit(), $assetId);
}
if (empty($_GET['page'])) {
//get the selected data with limitation
$assetData = $myAssetsEx->loadimted(0, $paginate->getLimit(), $assetId);
$paginate->setCurrentItem($_SESSION['SmartyPaginate'][$page]['current_item']);
}
// assign your db results to the template
$smarty->assign('assetData', $assetData);
//$smarty->assign('sumValue',$sumValue);
// assign {$paginate} var
$paginate->assign($smarty);
$paginate->setUrlVar("page");
//text that show in navgation
$paginate->setNextText('التالى');
$paginate->setPrevText('السابق');
//add any varaible in url
$paginate->setUrl('assetController.php?do=show&assetid=' . $assetId . '&');
}
// show the form
function showAll() {
//to use the variable out side the funcion
global $myAssetsEx;
global $myAssetsRecord;
global $smarty;
//select all data from Assets tbl
$allctadata = showallcat();
$smarty->assign("allctadata", $allctadata);
// required connect
$paginate = new SmartyPaginate;
$paginate->connect();
// set items per page
$paginate->setLimit(2500);
// get the all colums number
$allColums = $myAssetsRecord->queryAll();
$paginate->setTotal(count($allColums));
$smarty->assign("allassetdata", $allColums);
if ($paginate->getCurrentIndex() != -1) {
//get the selected data with limitation
$assetData = $myAssetsEx->queryAllWithLimit($paginate->getCurrentIndex(), $paginate->getLimit());
}
if (empty($_GET['page'])) {
//get the selected data with limitation
$assetData = $myAssetsEx->queryAllWithLimit(0, $paginate->getLimit());
$paginate->setCurrentItem($_SESSION['SmartyPaginate'][$page]['current_item']);
}
// assign your db results to the template
$smarty->assign('assetData', $assetData);
// assign {$paginate} var
$paginate->assign($smarty);
$paginate->setUrlVar("page");
//text that show in navgation
$paginate->setNextText('التالى');
$paginate->setPrevText('السابق');
//add any varaible in url
$paginate->setUrl('assetController.php?do=show&');
}
//update tempdelete in Assets tbl
function delete($type, $assetId) {
//to use the variable out side the funcion
global $myAssets;
global $myAssetsEx;
global $myAssetsRecord;
global $accountsTreeDAO;
global $accountsTree;
global $supplierDao;
global $supplierExt;
global $supplierDeptChange;
global $supplierDeptChangeDAO;
//get variable
$type = $type; //$_GET['type'];
$assetId = $assetId; //$_GET['assetId'];
$dailyEntryId = $_GET['action'];
$assetdata = $myAssetsRecord->load($assetId);
$myAssets->assetId = $assetId;
$myAssets->assetsDate = date("Y-m-d");
$myAssets->conditions = 1;
$myAssets->userid = $_SESSION['userid'];
$myAssets->assetsName = $assetdata->assetsName . '-del';
$saveId = $assetdata->saveid;
$myAssetsEx->updateDele($myAssets);
$treeData = $accountsTreeDAO->load($assetdata->treeId);
$accountsTree->customName = $assetdata->assetsName . '-del';
$accountsTree->del = $treeData->del;
$accountsTree->id = $assetdata->treeId;
$accountsTree->itemfrom = $treeData->itemfrom;
$accountsTree->itemtype = $treeData->itemtype;
$accountsTree->itemtype2 = $treeData->itemtype2;
$accountsTree->layingOrder = $treeData->layingOrder;
$accountsTree->sysdate = $treeData->sysdate;
$accountsTree->name = $assetdata->assetsName . '-del';
$accountsTree->notes = $treeData->notes;
$accountsTree->parent = $treeData->parent;
$accountsTree->theOrder = $treeData->theOrder;
$accountsTree->theValue = $treeData->theValue;
$accountsTree->userid = $treeData->userid;
editTreeElement($accountsTree);
if ($type == 1) {
if ($assetdata->paytype == 0) {
$savebefor = getSaveValueBefore($saveId);
getSaveValueAndPlus($assetdata->assetsValue, $saveId);
updateSave($saveId, ($savebefor + ($assetdata->assetsValue)));
$Savedailyid = insertSavedaily(
$savebefor,
$assetdata->assetsValue,
0,
$saveId,
'الغاء وصل شراء اصل',
$assetId,
($savebefor + ($assetdata->assetsValue)),
'assetController.php'
);
//print_r($Savedailyid);
if ($Savedailyid > 0) {
reverseEntryWithItsID($dailyEntryId);
$note = "sucess";
} else {
$note = "لم تتم العمليه بنجاح ";
}
return $note;
}
//by with check
else if ($assetdata->paytype == 1) { //?????
$note = updateckeck($assetId);
reverseEntryWithItsID($dailyEntryId);
$note = "sucess";
return $note;
} else if ($assetdata->paytype == 2) { //with supplier
$supplierId = $assetdata->supplierid;
$supplier = $supplierDao->load($supplierId);
$debtbefore = $supplier->suppliercurrentDebt;
try {
$supplierdata = getSupplierDataFromSupplierInUseSP($supplierId);
$debtBefore = $supplierdata->suppliercurrentDebt;
$debtAfter = $debtBefore - $assetdata->assetsValue;
$supplierdebtchangemodelid = $assetId;
//insert into supplierdeptchange tbl
$supplierDeptChange->processname = "الغاء وصل شراء اصل";
$supplierDeptChange->supplierdebtchangeafter = $debtAfter;
$supplierDeptChange->supplierdebtchangeamount = $assetdata->assetsValue;
$supplierDeptChange->supplierdebtchangebefore = $debtBefore;
$supplierDeptChange->supplierdebtchangedate = date("Y-m-d H:i:s");
$supplierDeptChange->supplierdebtchangemodelid = $supplierdebtchangemodelid;
$supplierDeptChange->supplierdebtchangetype = 1;
$supplierDeptChange->tablename = "assetController.php?type=1";
$supplierDeptChange->userid = $_SESSION['userid'];
$supplierDeptChange->supplierid = $supplierId;
$supplierDeptChange->dailyentryid = 0;
//Insert
$supplierDeptChangeId = $supplierDeptChangeDAO->insert($supplierDeptChange);
if (isset($supplierDeptChangeId)) {
$suppData = $supplierDao->load($supplierId);
//update current dept in supplier tbl
$supplier->suppliercurrentDebt = $debtAfter;
$supplier->suppliercurrentDebtInCurrency = $debtAfter;
$supplier->userid = $_SESSION['userid'];
$supplier->supplierdate = date("Y-m-d H:i:s");
$supplier->supplierid = $supplierId;
$supplierExt->updatedept($supplier);
markSupplierAsNOTInUse($supplierId);
reverseEntryWithItsID($dailyEntryId);
$note = "sucess";
return $note;
}
} catch (Exception $ex) {
markSupplierAsNOTInUse($_POST["supplierid"]);
}
}
} else {
$dailyEntryIdSplit = explode(',', $dailyEntryId);
$dily_1 = $dailyEntryIdSplit[0];
reverseEntryWithItsID($dily_1);
$dily_2 = $dailyEntryIdSplit[1];
reverseEntryWithItsID($dily_2);
$note = "sucess";
return $note;
}
//pay from save
// if ($type == 1) {
// $savebefor = getSaveValueBefore($saveId);
// getSaveValueAndPlus($assetdata->assetsValue, $saveId);
// updateSave($saveId, ($savebefor + ($assetdata->assetsValue)));
// $Savedailyid = insertSavedaily(
// $savebefor,
// $assetdata->assetsValue,
// 0,
// $saveId,
// 'الغاء وصل شراء اصل',
// $assetId,
// ($savebefor + ($assetdata->assetsValue)),
// 'assetController.php'
// );
// //print_r($Savedailyid);
// if ($Savedailyid > 0) {
// reverseEntryWithItsID($dailyEntryId);
// $note = "sucess";
// } else {
// $note = "لم تتم العمليه بنجاح ";
// }
// return $note;
// }
// //by with check
// else if ($type == 2) { //?????
// $note = updateckeck($assetId);
// return $note;
// } else if ($type == 0) { //old asset
// $dailyEntryIdSplit = split(',', $dailyEntryId);
// $dily_1 = $dailyEntryIdSplit[0];
// reverseEntryWithItsID($dily_1);
// $dily_2 = $dailyEntryIdSplit[1];
// reverseEntryWithItsID($dily_2);
// $note = "sucess";
// return $note;
// } else if ($type == 1) { //new asset
// reverseEntryWithItsID($dailyEntryId);
// $note = "sucess";
// return $note;
// }
}
// edit in table
function edit($id) {
//to use the variable out side the funcion
global $myAssetsRecord;
global $checkWithdrawal;
global $checkWithdrawalDAO;
//get variable
$assetId = $id; //$_GET['assetId'];
$type = $_GET["type"];
//load data
$loadData = $myAssetsRecord->load($assetId);
return $loadData;
}
function getcheckdata($assetId) {
//to use the variable out side the funcion
global $checkWithdrawal;
global $checkWithdrawalDAO;
global $checkWithdrawalExtDAO;
global $Checkcontroller;
global $CheckcontrollerDAO;
//get variable
//$assetId=$_GET['assetId'];
$type = $_GET["type"];
//load check id
$loadData = $CheckcontrollerDAO->queryByControllerid($assetId);
//print_r($loadData);
$checkid = $loadData->checkid;
$checkdata = $checkWithdrawalExtDAO->queryByIdExt($checkid);
return $checkdata;
}
// update table
function update() {
//to use the variable out side the funcion
global $myAssets;
global $myAssetsRecord;
global $checkWithdrawal;
global $checkWithdrawalDAO;
global $checkWithdrawalExtDAO;
global $accountsTreeDAO;
global $accountsTree;
global $AssetscatEX;
global $AssetscatDAO;
global $Assetscat;
//Dailyentry
global $dailyEntry2;
//Dailyentrycreditor دائن
global $dailyEntryCreditor2;
//Dailyentrydebtor مدين
global $dailyEntryDebtor2;
$assetName = $_POST['assetname'];
$assetPrice = $_POST['assetprice'];
$assetsDepreciation = $_POST['assetsDepreciation'];
$assetsDescription = $_POST['assetsDescription'];
$depreciation = $_POST["depreciation"];
$assetscatid = $_POST["assetscatid"];
$today = $_POST['today'];
$assetId = $_POST['assetId'];
$type = $_POST['type'];
$manufacture = $_POST["manufacture"];
$Hourlyrate = $_POST["Hourlyrate"];
$dailyentryid = $_POST["dailyentryid"];
$paytype = $_POST["paytype"];
$supplierid = $_POST['supplierid'];
if (!isset($paytype))
$paytype = 0;
// print_r($assetscatid . 'aaaaaaaaaaaaaaaaaaaaaaa');
//update data in Assets tbl
$myAssets->assetsDepreciation = $assetsDepreciation;
$myAssets->manufacture = $manufacture;
$myAssets->assetsName = $assetName;
$myAssets->assetsValue = $assetPrice;
$myAssets->assetsDate = date("Y-m-d");
$myAssets->conditions = 0;
$myAssets->userid = $_SESSION['userid'];
$myAssets->type = $type;
$myAssets->depreciation = $depreciation;
$myAssets->assetscatid = $assetscatid;
$myAssets->Hourlyrate = $Hourlyrate;
$myAssets->dailyentryid = $dailyentryid;
$myAssets->assetsDescription = $assetsDescription;
$myAssets->paytype = $paytype;
$myAssets->supplierid = $supplierid;
// print_r($assetsDescription);
// print_r($myAssets->assetsDescription);
$myAssets->assetId = $assetId;
//print_r($myAssets);
//reverseEntryWithItsID($dailyentryid);
if ($type == 0) {
//// تعديل الاصل
$dailyentryid = explode(',', $dailyentryid);
$oldData = $myAssetsRecord->load($assetId);
$treeId = $oldData->treeId;
$treeData = $accountsTreeDAO->load($treeId);
$loadAsset = $AssetscatDAO->load($assetscatid);
$treeParent = $loadAsset->treeId;
// print_r('<br>' . $treeParent . 'aaaaaaaaaaaaaaaaaaaaaaa');
$accountsTree->customName = $assetName;
$accountsTree->del = $treeData->del;
$accountsTree->id = $treeId;
$accountsTree->itemfrom = $treeData->itemfrom;
$accountsTree->itemtype = $treeData->itemtype;
$accountsTree->itemtype2 = $treeData->itemtype2;
$accountsTree->layingOrder = $treeData->layingOrder;
$accountsTree->sysdate = $treeData->sysdate;
$accountsTree->name = $assetName;
$accountsTree->notes = $treeData->notes;
$accountsTree->parent = $treeParent;
$accountsTree->theOrder = $treeData->theOrder;
$accountsTree->theValue = $assetPrice;
$accountsTree->userid = $treeData->userid;
editTreeElement($accountsTree);
//// تعديل مجمع الاهلاك
$x1 = reverseEntryWithItsID($dailyentryid[1]);
///////من حساب راس المال الي حساب مخصص اهلاك
$dailyEntry2->entryComment = 'تعديل اهلاك اصل قديم (' . $assetName . ')';
//////////////// start Rasl L maal
$dailyEntryDebtorArray2 = array();
$dailyEntryDebtor2->value = $depreciation;
$dailyEntryDebtor2->accountstreeid = 121;
//////////////// end Rasl L maal
//////////////// start Mogam3 L Hlak
$dailyEntryCreditorArray2 = array();
$dailyEntryCreditor2->value = $depreciation;
$dailyEntryCreditor2->accountstreeid = 8;
//////////////// end Mogam3 L Hlak
array_push($dailyEntryDebtorArray2, $dailyEntryDebtor2);
array_push($dailyEntryCreditorArray2, $dailyEntryCreditor2);
insertEntery($dailyEntry2, $dailyEntryDebtorArray2, $dailyEntryCreditorArray2, 0, $assetId, "assetController.php?do=editprint&id=$assetId");
} else {
$oldData = $myAssetsRecord->load($assetId);
$treeId = $oldData->treeId;
$treeData = $accountsTreeDAO->load($treeId);
$loadAsset = $AssetscatDAO->load($assetscatid);
$treeParent = $loadAsset->treeId;
// print_r('<br>' . $treeParent . 'aaaaaaaaaaaaaaaaaaaaaaa');
$accountsTree->customName = $assetName;
$accountsTree->del = $treeData->del;
$accountsTree->id = $treeId;
$accountsTree->itemfrom = $treeData->itemfrom;
$accountsTree->itemtype = $treeData->itemtype;
$accountsTree->itemtype2 = $treeData->itemtype2;
$accountsTree->layingOrder = $treeData->layingOrder;
$accountsTree->sysdate = $treeData->sysdate;
$accountsTree->name = $assetName;
$accountsTree->notes = $treeData->notes;
$accountsTree->parent = $treeParent;
$accountsTree->theOrder = $treeData->theOrder;
$accountsTree->theValue = $assetPrice;
$accountsTree->userid = $treeData->userid;
editTreeElement($accountsTree);
}
$myAssetsRecord->update($myAssets, $assetsDescription);
// $type = $_POST["type"];
if ($paytype == 1) {
$checkwithdrawalid = $_POST["checkwithdrawalid"];
$txtUser = $_POST["txtUser"];
$textNote = $_POST["textNote"];
//$checkWithdrawal->checkwithdrawalnote=$textNote;
$checkWithdrawal
->checkwithdrawaluser = $txtUser;
$checkWithdrawal->checkwithdrawalid = $checkwithdrawalid;
// print_r($checkWithdrawal);
$checkWithdrawalExtDAO->updateuser($checkWithdrawal, $textNote);
}
}
//show all asset cat
function showallcat() {
global $AssetscatDAO;
global $Assetscat;
$alldata = $AssetscatDAO->queryByDel(0);
return $alldata;
}
function getSaveValueBefore($saveid = 0) {
//to use the variable out side the funcion
global $mySave;
global $mySaveRecord;
if ($saveid < 1) {
$saveid = $_SESSION['saveid'];
}
$saveData = $mySaveRecord->load($saveid);
$saveValuebefore = $saveData->savecurrentvalue;
return $saveValuebefore;
}
// get initialvalue and plus from save tbl
function getSaveValueAndPlus($savevaluechanged, $saveid = 0) {
//to use the variable out side the funcion
global $mySave;
global $mySaveRecord;
if ($saveid < 1) {
$saveid = $_SESSION['saveid'];
}
$saveData = $mySaveRecord->load($saveid);
$saveId = $saveData->saveid;
$saveValuebefore = $saveData->savecurrentvalue;
$saveValueafter = $saveValuebefore + $savevaluechanged;
return array($saveId, $saveValuebefore, $saveValueafter);
}
// get initialvalue and mins from save tbl
function getSaveValueAndMins($savevaluechanged, $saveid = 0) {
//to use the variable out side the funcion
global $mySave;
global $mySaveRecord;
if ($saveid < 1) {
$saveid = $_SESSION['saveid'];
}
$saveData = $mySaveRecord->load($saveid);
$saveId = $saveData->saveid;
$saveValuebefore = $saveData->savecurrentvalue;
$saveValueafter = $saveValuebefore - $savevaluechanged;
return array($saveId, $saveValuebefore, $saveValueafter);
}
// update in Save tbl
function updateSave($saveId, $savevalueafter) {
//to use the variable out side the funcion
global $mySave;
global
$mySaveEx;
//update initialvalue in Save tbl
$mySave->savecurrentvalue = $savevalueafter;
$mySave->userid = $_SESSION['userid'];
$mySave->saveid = $saveId;
$mySaveEx->updateSaveValue($mySave);
}
// insert in Savedaily tbl
function insertSavedaily($savedailysavebefore, $savedailychangeamount, $savedailychangetype, $saveId, $processname, $savedailymodelid, $savedailysaveafter, $tablename) {
//to use the variable out side the funcion
global $mySavedaily;
global $mySavedailyRecord;
//insert in Savedaily tbl
$mySavedaily->savedailydate = date("Y-m-d H:i:s");
$mySavedaily->userid = $_SESSION['userid'];
$mySavedaily->savedailysavebefore = $savedailysavebefore;
$mySavedaily->savedailychangeamount = $savedailychangeamount;
$mySavedaily->savedailychangetype = $savedailychangetype;
$mySavedaily->saveid = $saveId;
$mySavedaily->processname = $processname;
$mySavedaily->savedailymodelid = $savedailymodelid;
$mySavedaily->savedailysaveafter = $savedailysaveafter;
$mySavedaily->tablename = $tablename;
$id = $mySavedailyRecord->insert($mySavedaily);
return $id;
}
function updateckeck($assetId) {
global $checkWithdrawal;
global $checkWithdrawalDAO;
global $checkWithdrawalExtDAO;
global $Checkcontroller;
global $CheckcontrollerDAO;
global $accountMove;
global $accountMoveDAO;
global $accountDAO;
global $account;
global $accountExtDAO;
//print_r('assetId'.$assetId."<br>");
$mydata = $CheckcontrollerDAO->queryByControllerid($assetId);
// print_r($mydata);
//print_r("<br><br><br>");
$checkid = $mydata->checkid;
$checkwithdrawalid = $mydata->controllerid;
//print_r('$checkid'.$checkid.'<br>');
//print_r('$checkwithdrawalid'.$checkwithdrawalid.'<br>');
$checkdata = $checkWithdrawalDAO->load($checkid);
// print_r($checkdata);
$checkWithdrawal->conditions = 0;
$checkWithdrawal->checkwithdrawalid = $checkid;
$checkWithdrawal->userid = $_SESSION['userid'];
$checkWithdrawalExtDAO->updatedel($checkWithdrawal);
$accountid = $checkdata->bankaccountid;
$checkwithdrawalamount = $checkdata->checkwithdrawalamount;
$accountdata = $accountDAO->load($accountid);
$accountBefore = $accountdata->accountbeginingbalance;
$bankid = $accountdata->bankid;
$account->accountbeginingbalance = $accountBefore + $checkwithdrawalamount;
$account->accountid = $accountid;
//update
$accountExtDAO->updateacount($account);
//-------------------
//Insert in accountmovement table
$accountMove->accountmovementbefore = $accountBefore;
$accountMove->accountid = $accountid;
$accountMove->bankid = $bankid;
$accountMove->accountmovementamount = $checkwithdrawalamount;
$accountMove->accountmovementafter = $accountBefore + $checkwithdrawalamount;
$accountMove->accountmovementtype = 0;
$accountMove->processname = "الغاء شراء اصل";
$accountMove->tablename = "assetController.php";
$accountMove->accountmovementmodelid = $assetId;
$accountMove->accountmovementmodelname = "wirhdrawalCheckCTRL";
$accountMove->accountmovementdate = date("Y-m-d");
$accountMove->userid = $_SESSION['userid'];
//Insert
$accountMoveid = $accountMoveDAO->insert($accountMove);
if ($accountMoveid > 0) {
$note = "sucess";
} else {
$note = "لقد حث خطا اثناء اجراء العمليه ";
}
return $note;
}
function execute() {
global $AssetscatEX;
global $AssetscatDAO;
global $Assetscat;
global $myAssets;
global $myAssetsRecord;
global $myAssetsEx;
global $smarty;
global $outputString;
$operationType = $_POST['operation'];
$choosedItemArr = $_POST['choosedItem'];
//print_r($choosedItemArr);
if (count($choosedItemArr) > 0) {
$i = 1;
foreach ($choosedItemArr as $assetId) {
$assetdata = $myAssetsRecord->load($assetId);
//print_r($assetdata);
$type = $assetdata->type;
$assetsName = $assetdata->assetsName;
$conditions = $assetdata->conditions;
if ($operationType == '1' && $conditions == 0) { //tempdelete
try {
$note = delete($type, $assetId);
if ($note != "sucess") {
//get product category name
if (count($assetscatid) > 0) {
$outputString .= $assetsName . ": " . $note . "<br/>";
}
}
} catch (Exception $e) {
}
} else {
$outputString .= $assetsName . ": لا يمكن الغاء هذا الاصل لانه ملغى سابقا<br/>";
}
$i++;
}
$smarty->assign("outputString", $outputString);
//print_r($outputString);
}
}
function getSupplierDataFromSupplierInUseSP($supplier) {
global $supplierExt;
global $supplierDao;
if ($supplier == 1) {
$supplier_data = $supplierDao->load($supplier);
} elseif ($supplier > 1) {
$noOfTries = 0;
$supplier_data = $supplierExt->callSupplierInUseSP($supplier);
while ($supplier_data->suppliercurrentDebt == 'in_use') {
sleep(1);
$noOfTries++;
if ($noOfTries > 15) { // mean 15 sec as sleep is 1 sec her
//markClientAsNOTInUse -- using redbeans to instantly execute in database as we are in transaction now "means affecting row is done @end of execution or comit"
liveBackupComment("-- force free supplier=$supplier with redbean");
R::exec('UPDATE supplier SET inUse = 0 where supplierid = ' . $supplier);
}
$supplier_data = $supplierExt->callSupplierInUseSP($supplier);
}
}
return $supplier_data;
}
function markSupplierAsNOTInUse($supplier) { //mark as not in use "free him to be able to change debt again"
global $supplierExt;
if ($supplier == 1) {
//do no thing. we didnot mark it as in use at begining
} else {
$supplierExt->markSupplierAsNOTInUse($supplier);
}
}
function liveBackupComment($txt) {
$myfile = fopen("backup/" . date("Y-m-d") . ".txt", "a+") or die("Unable to open file!");
$toWrite = "\r\n-- ----------------------------------------------------------------------------------------------------\r\n";
$toWrite .= $txt;
$toWrite .= "\r\n-- ----------------------------------------------------------------------------------------------------\r\n\r\n";
fwrite($myfile, $toWrite);
}