File: /home/mostafedeg/public_html/erp/controllers/expenseexchange.php
<?php
//the global file operation
include("../public/impOpreation.php");
include("../library/uploadImages.php");
//Transaction
include_once("../models/sql/Transaction.class.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
include("../public/include_dao.php");
//Expenseexchange
require_once('../models/dao/ExpenseexchangeDAO.class.php');
require_once('../models/dto/Expenseexchange.class.php');
require_once('../models/mysql/ExpenseexchangeMySqlDAO.class.php');
require_once('../models/mysql/ext/ExpenseexchangeMySqlExtDAO.class.php');
//Expensestype
require_once('../models/dao/ExpensestypeDAO.class.php');
require_once('../models/dto/Expensestype.class.php');
require_once('../models/mysql/ExpensestypeMySqlDAO.class.php');
require_once('../models/mysql/ext/ExpensestypeMySqlExtDAO.class.php');
//Clientdebtchange
require_once('../models/dao/ClientdebtchangeDAO.class.php');
require_once('../models/dto/Clientdebtchange.class.php');
require_once('../models/mysql/ClientdebtchangeMySqlDAO.class.php');
require_once('../models/mysql/ext/ClientdebtchangeMySqlExtDAO.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');
//Supplierdebtchange
require_once('../models/dao/SupplierdebtchangeDAO.class.php');
require_once('../models/dto/Supplierdebtchange.class.php');
require_once('../models/mysql/SupplierdebtchangeMySqlDAO.class.php');
require_once('../models/mysql/ext/SupplierdebtchangeMySqlExtDAO.class.php');
require_once('../models/dao/ProjectDAO.class.php');
require_once('../models/dto/Project.class.php');
require_once('../models/mysql/ProjectMySqlDAO.class.php');
require_once('../models/mysql/ext/ProjectMySqlExtDAO.class.php');
require_once('../models/dao/CostcenterDAO.class.php');
require_once('../models/dto/Costcenter.class.php');
require_once('../models/mysql/CostcenterMySqlDAO.class.php');
require_once('../models/mysql/ext/CostcenterMySqlExtDAO.class.php');
//Accountstree
require_once('../models/dao/AccountstreeDAO.class.php');
require_once('../models/dto/Accountstree.class.php');
require_once('../models/mysql/AccountstreeMySqlDAO.class.php');
require_once('../models/mysql/ext/AccountstreeMySqlExtDAO.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');
/* //bind
require_once('../models/dao/BindDAO.class.php');
require_once('../models/dto/Bind.class.php');
require_once('../models/mysql/BindMySqlDAO.class.php');
require_once('../models/mysql/ext/BindMySqlExtDAO.class.php'); */
include_once("dailyentryfun.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 :- productCatController
OPERTATION in Controller
1-display add form
2- add in productCat tble
4-display sucess or error
5-display show and delete
6-delete from productCat tbl
7-display edit
8- update productCat tbl
======================== */
//here the global templates
$smarty->display("header.html");
//here goes the instances and general variables
//Expenseexchange
$expenseExchange = new Expenseexchange();
$expenseExchangeDAO = new ExpenseexchangeMySqlDAO();
$expenseExchangeEX = new ExpenseexchangeMySqlExtDAO();
//Expensestype
$expensesType = new Expensestype();
$expensesTypeDAO = new ExpensestypeMySqlDAO();
$expensesTypeEX = new ExpensestypeMySqlExtDAO();
//Client
$client = new Client();
$clientDAO = new ClientMySqlDAO();
$clientExt = new ClientMySqlExtDAO();
$Project = new Project();
$ProjectDAO = new ProjectMySqlDAO();
$ProjectEx = new ProjectMySqlExtDAO();
//Supplier
$supplier = new Supplier();
$supplierDAO = new SupplierMySqlDAO();
$supplierExt = new SupplierMySqlExtDAO();
//Supplierdebtchange
$Supplierdebtchange = new Supplierdebtchange();
$SupplierdebtchangeDAO = new SupplierdebtchangeMySqlDAO();
$SupplierdebtchangeEX = new SupplierdebtchangeMySqlExtDAO();
//Clientdebtchange
$clientDeptChange = new Clientdebtchange();
$clientDeptChangeDAO = new ClientdebtchangeMySqlDAO();
$clientDeptChangeExt = new ClientdebtchangeMySqlExtDAO();
//Costcenter
$Costcenter = new Costcenter();
$CostcenterDAO = new CostcenterMySqlDAO();
$CostcenterEx = new CostcenterMySqlExtDAO();
//Accountstree
$accountsTree = new Accountstree();
$accountsTreeDAO = new AccountstreeMySqlDAO();
$accountsTreeEX = new AccountstreeMySqlExtDAO();
//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();
$bankExt = new BankMySqlExtDAO();
$SaveExt = new SaveMySqlExtDAO();
$today = date("Y-m-d");
//check and use the condition that suite this action
##empty
if (empty($do)) {
//here the permission check
include_once("../public/authentication.php");
$smarty->assign("today", $today);
####serial
$serialno = getserails();
$smarty->assign("serialno", $serialno);
$supplierData = $supplierExt->queryAllsup();
$smarty->assign("supplierData", $supplierData);
$smarty->assign('searchinonesave', $_SESSION['searchinonesave']);
if ($_SESSION['searchinonesave'] == 0) {
if ($_SESSION['saveids'] == 0) {
$saves = $saveDAO->queryAll();
}else{
$queryString = ' and saveid in (' . $_SESSION['saveids'] . ')';
$saves = $SaveExt->queryWithConditionWithQueryString($queryString);
}
$smarty->assign("saves", $saves);
$smarty->assign("saveid", $_SESSION['saveid']);
}else{
$smarty->assign('saves', $_SESSION['saveid']);
}
if ($_SESSION['bankids'] == 0) {
$banks = $bankDAO->queryAll();
}else{
$queryString = ' and bankid in (' . $_SESSION['bankids'] . ')';
$banks = $bankExt->queryWithConditionWithQueryString($queryString);
}
$smarty->assign("banks", $banks);
// $banks = $bankDAO->queryAll();
// $smarty->assign("banks", $banks);
// $saves = $saveDAO->queryAll();
// $smarty->assign("saves", $saves);
/* $binds = $bindDAO->queryAll();
//employeeid حط فيها اسم الموظف
$smarty->assign("binds", $binds); */
// $expenseType = $expensesTypeDAO->queryByCondition(0);
// $smarty->assign("expenseType", $expenseType);
##########storenegative
$smarty->assign("projectValidation", 1);
$smarty->display("expenseexchangeview/add.html");
}
##add
elseif ($do == 'add') {
//here the permission check
include_once("../public/authentication.php");
//Transaction
$mytransactions = new Transaction();
try {
// here the function that do the action
add();
$mytransactions->commit();
header("location:?do=sucess");
} catch (Exception $e) {
$mytransactions->rollback();
header("location:?do=error");
}
}
##show
elseif ($do == 'show') {
//here the permission check
include_once("../public/authentication.php");
$smarty->assign('searchinonesave', $_SESSION['searchinonesave']);
if ($_SESSION['searchinonesave'] == 0) {
if ($_SESSION['saveids'] == 0) {
$saves = $saveDAO->queryAll();
}else{
$queryString = ' and saveid in (' . $_SESSION['saveids'] . ')';
$saves = $SaveExt->queryWithConditionWithQueryString($queryString);
}
$smarty->assign("saves", $saves);
$smarty->assign("saveid", $_SESSION['saveid']);
}else{
$smarty->assign('saves', $_SESSION['saveid']);
}
$projectid = filter_input(INPUT_POST, "projectname");
$saveid = filter_input(INPUT_POST, "saveid");
$expensetype = filter_input(INPUT_POST, "expensetype");
$serialno = filter_input(INPUT_POST, "serialno");
$datefrom = filter_input(INPUT_POST, "datefrom");
$dateto = filter_input(INPUT_POST, "dateto");
$queryString = " where 1 ";
if (isset($projectid) && !empty($projectid)) {
$queryString .= " and expenseexchange.projectid = " . $projectid;
}else if( $_SESSION['projectids'] != 0){
$queryString .= ' AND expenseexchange.projectid in (' . $_SESSION['projectids'] . ')';
}
if (isset($saveid) && !empty($saveid)) {
$queryString .= " and expenseexchange.expenseid = " . $saveid;
}
if (isset($expensetype) && !empty($expensetype)) {
$queryString .= " and expenseexchange.expensetype = " . $expensetype;
}
if (isset($serialno) && !empty($serialno)) {
$queryString .= " and expenseexchange.serialno = " . $serialno;
}
if (isset($datefrom) && !empty($datefrom)) {
$queryString .= ' and expenseexchange.expensedate >= "' . $datefrom . '" ';
}
if (isset($dateto) && !empty($dateto)) {
$queryString .= ' and expenseexchange.expensedate <= "' . $dateto . '" ';
}
$alldata = $expenseExchangeEX->queryAllEX($queryString);
$total = 0;
foreach ($alldata as $value) {
$total += $value->thevalue;
}
$smarty->assign("alldata", $alldata);
$smarty->assign("total", $total);
// $expenseType = $expensesTypeDAO->queryByCondition(0);
// $smarty->assign("expenseType", $expenseType);
$smarty->assign("projectValidation", 1);
$smarty->display("expenseexchangeview/show.html");
} elseif ($do == 'shownew') {
//here the permission check
include_once("../public/authentication.php");
$projectid = filter_input(INPUT_GET, "proid");
$queryString = " where 1 ";
if (isset($projectid) && !empty($projectid)) {
$projData = $ProjectDAO->load($projectid);
$projname = $projData->name;
$queryString .= " and expenseexchange.projectid = " . $projectid;
}
$alldata = $expenseExchangeEX->queryAllEX($queryString);
$smarty->assign("alldata", $alldata);
$smarty->assign("projectid", $projectid);
$smarty->assign("projname", $projname);
$expenseType = $expensesTypeDAO->queryByCondition(0);
$smarty->assign("expenseType", $expenseType);
$smarty->assign("projectValidation", 1);
$smarty->display("expenseexchangeview/show.html");
}
##edit
elseif ($do == 'edit') {
//here the permission check
include_once("../public/authentication.php");
$id = filter_input(INPUT_GET, 'id', FILTER_DEFAULT);
$editelement = $expenseExchangeDAO->load($id);
$editelement->allimages = explode(',', $editelement->images);
$smarty->assign("editelement", $editelement);
$supplierData = $supplierExt->queryAllsup();
$smarty->assign("supplierData", $supplierData);
#######get project name
$projectData = $ProjectDAO->load($editelement->projectid);
$smarty->assign("projectData", $projectData);
$smarty->assign('searchinonesave', $_SESSION['searchinonesave']);
if ($_SESSION['searchinonesave'] == 0) {
if ($_SESSION['saveids'] == 0) {
$saves = $saveDAO->queryAll();
}else{
$queryString = ' and saveid in (' . $_SESSION['saveids'] . ')';
$saves = $SaveExt->queryWithConditionWithQueryString($queryString);
}
$smarty->assign("saves", $saves);
$smarty->assign("saveid", $editelement->expenseid);
}else{
$smarty->assign('saves', $editelement->expenseid);
}
if ($_SESSION['bankids'] == 0) {
$banks = $bankDAO->queryAll();
}else{
$queryString = ' and bankid in (' . $_SESSION['bankids'] . ')';
$banks = $bankExt->queryWithConditionWithQueryString($queryString);
}
$smarty->assign("banks", $banks);
$expensetype = $expensesTypeDAO->load($editelement->expensetype);
$smarty->assign("expensetype", $expensetype);
// $banks = $bankDAO->queryAll();
// $smarty->assign("banks", $banks);
$bankAccounts = $bankAccountDAO->queryByBankid($editelement->expenseid);
$smarty->assign("bankAccounts", $bankAccounts);
// $saves = $saveDAO->queryAll();
// $smarty->assign("saves", $saves);
/* $binds = $bindDAO->queryAll();
//employeeid حط فيها اسم الموظف
$smarty->assign("binds", $binds); */
// $expenseType = $expensesTypeDAO->queryByCondition(0);
// $smarty->assign("expenseType", $expenseType);
$smarty->assign("projectValidation", 1);
$smarty->display("expenseexchangeview/edit.html");
}
##update
elseif ($do == "update") {
//here the permission check
include_once("../public/authentication.php");
//Transaction
//$mytransactions_2 = new Transaction();
try {
// here the function that do the action
update();
//$mytransactions_2->commit();
header("location:?do=sucess");
} catch (Exception $e) {
echo $e;
//$mytransactions_2->rollback();
header("location:?do=error");
}
}
##del
elseif ($do == 'delete') {
include_once("../public/authentication.php");
#####var
$id = filter_input(INPUT_GET, 'id', FILTER_DEFAULT);
//Transaction
$mytransactions = new Transaction();
try {
// here the function that do the action
####delete
delete($id);
$mytransactions->commit();
header("location:?do=sucess");
} catch (Exception $e) {
$mytransactions->rollback();
header("location:?do=error");
}
}
##sucess
elseif ($do == "sucess") {
//here the smarty templates
$smarty->display("succes.html");
}
##error
elseif ($do == "error") {
//here the smarty templates
$smarty->display("error.html");
}
//here the global templates
$smarty->display("footer.html");
/* ===============================
function in this CONTROLLER
================================ */
function add($id) {
global $clientDeptChange;
global $clientDeptChangeDAO;
global $expenseExchange;
global $expenseExchangeDAO;
global $expenseExchangeEX;
global $accountsTreeDAO;
global $ProjectDAO;
global $CostcenterDAO;
global $expensesTypeDAO;
global $bankDAO;
global $bankAccountDAO;
global $saveDAO;
global $supplierDAO;
global $clientDAO;
$ETFromTreeID;
///var
$serialno = filter_input(INPUT_POST, 'serialno', FILTER_DEFAULT);
$projectid = filter_input(INPUT_POST, 'projectname', FILTER_DEFAULT);
$expensefrom = filter_input(INPUT_POST, 'expensefrom', FILTER_DEFAULT);
$expenseexcomment = filter_input(INPUT_POST, 'expenseexcomment', FILTER_DEFAULT);
$oldimages = filter_input(INPUT_POST, 'oldimages', FILTER_DEFAULT);
$supplierid = filter_input(INPUT_POST, 'supplierid', FILTER_DEFAULT);
$supervision_type = filter_input(INPUT_POST, 'supervision_type', FILTER_DEFAULT);
$supervision_amount = filter_input(INPUT_POST, 'supervision_amount', FILTER_DEFAULT);
$finalsupervision = filter_input(INPUT_POST, 'finalsupervision', FILTER_DEFAULT);
if ($oldimages) {
$images = uploadfileMultiple("images", '../upload/expenseexchange', explode(',', $oldimages));
}else{
$images = uploadfileMultiple("images", '../upload/expenseexchange');
}
if ($expensefrom == 0) {
$expenseid = filter_input(INPUT_POST, 'saveid', FILTER_DEFAULT);
$expenseid2 = 0;
$EFrom = $saveDAO->load($expenseid);
$ETFromTreeID = $EFrom->treeId;
if ($ETFromTreeID < 1) {
$ETFromTreeID = addTreeElement($EFrom->savename, 40, 3, 0, 1, '', 0, 0);
}
} elseif ($expensefrom == 1) {
$expenseid = filter_input(INPUT_POST, 'bankid', FILTER_DEFAULT);
$expenseid2 = filter_input(INPUT_POST, 'bankaccountid', FILTER_DEFAULT);
$EFrom = $bankAccountDAO->load($expenseid2);
$ETFromTreeID = $EFrom->treeId;
if (count($ETTreeData) == 0) {
//we dont add banks to tree now
$bankData = $bankDAO->load($expenseid);
// $bankTreeData = $accountsTreeDAO->queryByName($bankData->bankname);
// if (count($bankTreeData) == 0) {
// $bankTreeId = addTreeElement($bankData->bankname, 21, 3, 0, 0, '', 0, 0);
// } else {
// $bankTreeId = $bankTreeData[0]->id;
// }
// $ETFromTreeID = addTreeElement($EFrom->accountname, $bankTreeId, 3, 0, 1, '', 0, 0);
$ETFromTreeID = addTreeElement("$EFrom->accountname / $bankData->bankname", 38, 3, 0, 1, '', 0, 0);
}
} elseif ($expensefrom == 2) {
$expenseid = filter_input(INPUT_POST, 'ohadid', FILTER_DEFAULT);
$expenseid2 = 0;
/* $EFrom = $saveDAO->load($expenseid);
$ETTreeData = $accountsTreeDAO->queryByName($EFrom->savename);
$ETFromTreeID = $ETTreeData[0]->id; */
}
$expensetype = filter_input(INPUT_POST, 'expensetype', FILTER_DEFAULT);
$thevalue = filter_input(INPUT_POST, 'thevalue', FILTER_DEFAULT);
$expensedate = filter_input(INPUT_POST, 'expensedate', FILTER_DEFAULT);
#######get costcenter id
$projectData = $ProjectDAO->load($projectid);
$projectName = $projectData->name;
$costcenterid = 0;
$costCenter = $CostcenterDAO->queryByName($projectName);
if (count($costCenter) > 0) {
$costcenterid = $costCenter[0]->id;
}
##make daily entry
$ET = $expensesTypeDAO->load($expensetype);
$ETTreeID = $ET->treeId;
// if (count($ETTreeData) == 0) {
// $ETTreeID = addTreeElement($ET->expensestypename, 96, 3, 0, 0, '', 0, 0);
// }
#####insert in dataentry
// $entryid = entryinsert_data($thevalue, $ETTreeID, $ETFromTreeID, $costcenterid, 12);
$expenseExchange->serialno = $serialno;
$expenseExchange->projectid = $projectid;
$expenseExchange->expensefrom = $expensefrom;
$expenseExchange->expenseid = $expenseid;
$expenseExchange->expenseid2 = $expenseid2;
$expenseExchange->thevalue = $thevalue;
$expenseExchange->costcenterid = $costcenterid;
$expenseExchange->expensedate = $expensedate;
$expenseExchange->expensetype = $expensetype;
$expenseExchange->userid = $_SESSION['userid'];
$expenseExchange->del = 0;
$expenseExchange->sysdate = date('Y-m-d');
$expenseExchange->entryid = 158;
$expenseExchange->expenseexcomment = $expenseexcomment;
$expenseExchange->images = implode(',', $images);
$expenseExchange->supplierid = $supplierid;
$expenseExchange->supervision_type = $supervision_type;
$expenseExchange->supervision_amount = $supervision_amount;
$expenseExchange->finalsupervision = $finalsupervision;
if (empty($id)) {
$id = $expenseExchangeDAO->insert($expenseExchange);
} else {
$expenseExchange->id = $id;
$id = $expenseExchangeEX->insertWithID($expenseExchange);
}
if (isset($supplierid) && $supplierid > 1) {
$supplierdata = $supplierDAO->load($supplierid);
$last_supplierdebtchangeid = (int) R::getCell('SELECT supplierdebtchangeid FROM supplierdebtchange order by supplierdebtchangeid desc limit 1');
$data_arr = array(
'supplierid' => $supplierdata->supplierid,
'payedDept' => $thevalue,
'comment' => $supplierdata->suppliername . 'صرف مصروف' . $ET->expensestypename,
'saveid' => $_SESSION['saveid'],
'currentDate' => date('Y-m-d H:i:s'),
'clientorsupplier' => 1,
'debtBefore' => $supplierdata->suppliercurrentDebt,
'payedDeptCurr' => $thevalue,
'debtAfter' => ($supplierdata->suppliercurrentDebt - $thevalue),
'voucher' => $last_supplierdebtchangeid + 1,
);
CURL_Request($data_arr, 'supplierPayedDeptController.php?do=add', 0, 1, '', 'POST') ;
}
$clientData = $clientDAO->load($projectData->clientid);
$last_clientdebtchangeid = (int) R::getCell('SELECT clientdebtchangeid FROM clientdebtchange order by clientdebtchangeid desc limit 1');
$data_arr = array(
'paymethod'=>0,
'bankid'=>-1,
'checkNo'=>'',
'productid'=>'',
'searchvalue'=> 2,
'curlpost'=>1,
'saveid' => $_SESSION['saveid'],
'expensetype'=> $expensetype,
'Costcenterid' => $costcenterid,
'expensesname' => $clientData->clientname . ' صرف مصروف ' . $ET->expensestypename,
'expensevalue' => $thevalue + $finalsupervision,
'tax'=>'',
'expensevalueAfterTax'=>'',
'expensecomment'=>$expenseexcomment
);
// $data_arr = array(
// 'clientid' => $clientData->clientid,
// 'payedDept' => ($thevalue + $finalsupervision),
// 'comment' => $clientData->clientname . ' صرف مصروف',
// 'saveid' => $_SESSION['saveid'],
// 'currentDate' => date('Y-m-d H:i:s'),
// 'clientorsupplier' => 2,
// 'debtBefore' => $clientData->clientdebt,
// 'payedDeptCurr' => ($thevalue + $finalsupervision),
// 'debtAfter' => ($clientData->clientdebt + ($thevalue + $finalsupervision)),
// 'voucher' => $last_clientdebtchangeid + 1,
// 'oldvoucher' => $last_clientdebtchangeid + 1,
// 'notPremium' => 'notPremium',
// 'saveorbankPremium' => 1,
CURL_Request($data_arr, 'expensesController.php?do=add', 0, 1, '', 'POST') ;
$debtAfter = $clientData->clientdebt + ($thevalue + $finalsupervision);
R::exec("UPDATE `client` SET `clientdebt`= $debtAfter where clientid = ? ",[$projectData->clientid]);
$clientDeptChange->comment = $expenseexcomment;
$clientDeptChange->processname = $clientData->clientname . ' صرف مصروف ' . $ET->expensestypename;
$clientDeptChange->clientdebtchangeafter = $debtAfter;
$clientDeptChange->clientdebtchangeamount = $thevalue + $finalsupervision;
$clientDeptChange->totalOperationCost = $thevalue + $finalsupervision;
$clientDeptChange->clientdebtchangebefore = $clientData->clientdebt;
$clientDeptChange->clientdebtchangedate = date("Y-m-d H:i:s"); //$today;
$clientDeptChange->clientdebtchangemodelid = $id;
$clientDeptChange->paySerialNo = $paySerialNo;
$clientDeptChange->clientdebtchangetype = 1;
$clientDeptChange->tablename = "clientPayedDeptController.php";
$clientDeptChange->userid = $_SESSION['userid'];
$clientDeptChange->clientid = $clientData->clientid;
$clientDeptChange->seller = 0;
$clientDeptChange->dailyentryid = 0;
$clientDeptChange->discountearlyRepayment = NULL;
$clientDeptChange->costcenterid = $costcenterid;
$clientDeptChange->currencyId = 1;
$clientDeptChange->conversionFactor = 1;
$clientDeptChange->payedInCurrency = $thevalue + $finalsupervision;
$clientDeptChange->totalpayments = NULL;
$clientDeptChangeDAO->insert($clientDeptChange);
}
function update() {
$editid = filter_input(INPUT_POST, 'editid', FILTER_DEFAULT);
delete($editid);
add($editid);
}
function delete($id) {
global $expenseExchangeDAO;
global $accountsTreeDAO;
global $ProjectDAO;
global $expensesTypeDAO;
global $bankDAO;
global $bankAccountDAO;
global $saveDAO;
$ETFromTreeID;
$expenseExchange = $expenseExchangeDAO->load($id);
$expensefrom = $expenseExchange->expensefrom;
$expenseid = $expenseExchange->expenseid;
$expenseid2 = $expenseExchange->expenseid2;
$expensetype = $expenseExchange->expensetype;
$thevalue = $expenseExchange->thevalue;
$oldEntryID = $expenseExchange->entryid;
if ($expensefrom == 0) {
$EFrom = $saveDAO->load($expenseid);
$ETFromTreeID = $EFrom->treeId;
if (count($ETTreeData) == 0) {
$ETFromTreeID = addTreeElement($EFrom->savename, 20, 3, 0, 1, '', 0, 0);
}
} elseif ($expensefrom == 1) {
$EFrom = $bankAccountDAO->load($expenseid2);
$ETFromTreeID = $EFrom->treeId;
if (count($ETTreeData) == 0) {
//we dont add banks to tree now
$bankData = $bankDAO->load($expenseid);
// $bankTreeData = $accountsTreeDAO->queryByName($bankData->bankname);
// if (count($bankTreeData) == 0) {
// $bankTreeId = addTreeElement($bankData->bankname, 21, 3, 0, 0, '', 0, 0);
// } else {
// $bankTreeId = $bankTreeData[0]->id;
// }
// $ETFromTreeID = addTreeElement($EFrom->accountname, $bankTreeId, 3, 0, 1, '', 0, 0);
$ETFromTreeID = addTreeElement("$EFrom->accountname / $bankData->bankname", 38, 3, 0, 1, '', 0, 0);
}
} elseif ($expensefrom == 2) {
}
#######get project name
$projectData = $ProjectDAO->load($expenseExchange->projectid);
$projectName = $projectData->name;
##make daily entry
$ET = $expensesTypeDAO->load($expensetype);
$ETTreeID = $ET->treeId;
if (count($ETTreeData) == 0) {
$ETTreeID = addTreeElement($ET->expensestypename, 14, 3, 0, 0, '', 0, 0);
}
#####insert in dataentry
//$entryid = entryinsert_data_reverse($thevalue, $ETTreeID, $ETFromTreeID, $expenseExchange->costcenterid, 12);
$entryid = entryinsert_data_reverse($oldEntryID, 12);
$expenseExchangeDAO->delete($id);
}
function getserails() {
global $expenseExchangeEX;
function generateRandomString($length = 4) {
$newnum = substr(str_shuffle("0123456789"), 0, $length);
return date("Y") . '' . $newnum;
}
$number = generateRandomString();
//to make sure there are no duplicate serails
$checkifthere = $expenseExchangeEX->queryAllbyserialno($number);
if (count($checkifthere) > 0) {
$number = generateRandomString();
}
return $number;
}
function entryinsert_data($value, $ETTreeID, $ETFromTreeID, $costcenterId, $costcenterType) {
global $dailyEntry;
global $dailyEntryCreditor;
global $dailyEntryDebtor;
########## nsert into entry
$dailyEntry->entryComment = 'صرف مصروف';
$dailyEntry->fromFlag = 2;
$dailyEntry->reverseofid = 0;
$dailyEntryDebtorArray = array();
$dailyEntryDebtor->value = $value;
$dailyEntryDebtor->accountstreeid = $ETTreeID;
$dailyEntryDebtor->pluginComment = "صرف مصروف";
$dailyEntryDebtor->pluginControllerName = "expenseexchange.php";
$dailyEntryDebtor->costcenterid = $costcenterId;
$dailyEntryDebtor->costcenterType = $costcenterType;
array_push($dailyEntryDebtorArray, $dailyEntryDebtor);
$dailyEntryCreditorArray = array();
$dailyEntryCreditor->value = $value;
$dailyEntryCreditor->accountstreeid = $ETFromTreeID;
$dailyEntryCreditor->pluginComment = "صرف مصروف";
$dailyEntryCreditor->pluginControllerName = "expenseexchange.php";
array_push($dailyEntryCreditorArray, $dailyEntryCreditor);
$entryData = insertEntery($dailyEntry, $dailyEntryDebtorArray, $dailyEntryCreditorArray);
return $entryData[1];
}
function entryinsert_data_reverse($oldEntryID) {
global $dailyEntry;
global $dailyEntryCreditor;
global $dailyEntryDebtor;
$entryData = reverseEntryWithItsID($oldEntryID);
/* ########## nsert into entry
$dailyEntry->entryComment = 'حذف صرف مصروف';
$dailyEntry->fromFlag = 2;
$dailyEntryCreditorArray = array();
$dailyEntryCreditor->value = $value;
$dailyEntryCreditor->accountstreeid = $ETTreeID;
array_push($dailyEntryCreditorArray, $dailyEntryCreditor);
$dailyEntryDebtorArray = array();
$dailyEntryDebtor->value = $value;
$dailyEntryDebtor->accountstreeid = $ETFromTreeID;
$dailyEntryDebtor->costcenterid = $costcenterId;
$dailyEntryDebtor->costcenterType = $costcenterType;
$dailyEntryDebtor->pluginComment = 'حذف صرف مصروف';
$dailyEntryDebtor->pluginControllerName = "expenseexchange.php";
array_push($dailyEntryDebtorArray, $dailyEntryDebtor);
$entryData = insertEntery($dailyEntry, $dailyEntryDebtorArray, $dailyEntryCreditorArray); */
return $entryData[1];
}
/* --------------- affect plugins --------------------------------------------- */
?>