File: /home/mostafedeg/public_html/erp/controllers/elemam.php
<?php
//the global file operation
// get the config file
include_once("../public/config.php");
require_once('../models/dao/SellbillDAO.class.php');
require_once('../models/dto/Sellbill.class.php');
require_once('../models/mysql/SellbillMySqlDAO.class.php');
require_once('../models/mysql/ext/SellbillMySqlExtDAO.class.php');
require_once('../models/dao/SellbilldetailDAO.class.php');
require_once('../models/dto/Sellbilldetail.class.php');
require_once('../models/mysql/SellbilldetailMySqlDAO.class.php');
require_once('../models/mysql/ext/SellbilldetailMySqlExtDAO.class.php');
//Returnsellbill
require_once('../models/dao/ReturnsellbillDAO.class.php');
require_once('../models/dto/Returnsellbill.class.php');
require_once('../models/mysql/ReturnsellbillMySqlDAO.class.php');
require_once('../models/mysql/ext/ReturnsellbillMySqlExtDAO.class.php');
//Returnsellbilldetail
require_once('../models/dao/ReturnsellbilldetailDAO.class.php');
require_once('../models/dto/Returnsellbilldetail.class.php');
require_once('../models/mysql/ReturnsellbilldetailMySqlDAO.class.php');
require_once('../models/mysql/ext/ReturnsellbilldetailMySqlExtDAO.class.php');
//Sellbillandrutern
require_once('../models/dao/SellbillandruternDAO.class.php');
require_once('../models/dto/Sellbillandrutern.class.php');
require_once('../models/mysql/SellbillandruternMySqlDAO.class.php');
require_once('../models/mysql/ext/SellbillandruternMySqlExtDAO.class.php');
//Sellandruternbilldetail
require_once('../models/dao/SellandruternbilldetailDAO.class.php');
require_once('../models/dto/Sellandruternbilldetail.class.php');
require_once('../models/mysql/SellandruternbilldetailMySqlDAO.class.php');
require_once('../models/mysql/ext/SellandruternbilldetailMySqlExtDAO.class.php');
require_once('../models/mysql/ext/SellbillandruternMySqlExtDAO.class.php');
$do = $_GET['do'];
/* ======================
Controller Name :- storedetailCTRL تقرير مخزون اول مدة
OPERTATION in Controller
1-load save data
2-display show form
======================== */
//here the global templates
//here goes the instances and general variables
//Sellbill
$sellBill = new Sellbill();
$sellBillDAO = new SellbillMySqlDAO();
$sellBillEX = new SellbillMySqlExtDAO();
//Sellbilldetail
$sellbilldetail = new Sellbilldetail();
$sellbilldetailDAO = new SellbilldetailMySqlDAO();
$sellbilldetailEX = new SellbilldetailMySqlExtDAO();
//Returnsellbill
$returnSellBill = new Returnsellbill();
$returnSellBillDAO = new ReturnsellbillMySqlDAO();
$returnSellBillEX = new ReturnsellbillMySqlExtDAO();
//Returnsellbilldetail
$returnSellBillDetail = new Returnsellbilldetail();
$returnSellBillDetailDAO = new ReturnsellbilldetailMySqlDAO();
$returnSellBillDetailEX = new ReturnsellbilldetailMySqlExtDAO();
//Sellandruternbill
$sellAndRuternBill = new Sellbillandrutern();
$sellAndRuternBillDAO = new SellbillandruternMySqlDAO();
$sellAndRuternBillEX = new SellbillandruternMySqlExtDAO();
//Sellandruternbilldetail
$sellAndRuternBillDetail = new Sellandruternbilldetail();
$sellAndRuternBillDetailDAO = new SellandruternbilldetailMySqlDAO();
$sellAndRuternBillDetailEX = new SellandruternbilldetailMySqlExtDAO();
//check and use the condition that suite this action
if (empty($do)) {
$columns = array('name', 'datetime', 'totalbill', 'monetary', 'totalbill', 'client', 'id');
// $start_date = '2020-01-01';
// $end_date = '2020-01-23';
// $day = 0;
// $ORDER ='';
// if(isset($_POST["order"]))
// {
// $$ORDER .= 'ORDER BY '.$columns[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].'
// ';
// }else{
// $$ORDER .= 'ORDER BY sellbill.sellbilldate desc';
// }
// $LIMIT ='';
// if (isset($_POST['start']) && $_POST['length'] != '-1') {
// $LIMIT .= "LIMIT " . intval($_POST['start']) . ", " .
// intval($_POST['length']);
// }
$start_date = $_POST["start_date"];
$end_date = $_POST["end_date"];
$day = $_POST["day"];
$sellbill = " where 1 "; //sellbill
$returnsellbill = " where 1 "; //sellbillreturn
$sellbillandrutern = " where 1 "; //sellbillandretu
if ($start_date != '' && $end_date != '') {
$sellbill .= ' and sellbill.sellbilldate >= "' . $start_date . '00:00:00" and sellbill.sellbilldate <= "' . $end_date . ' 23:59:59" ';
$returnsellbill .= ' and returnsellbill.returnsellbilldate >= "' . $start_date . ' 00:00:00" and returnsellbill.returnsellbilldate <= "' . $end_date . ' 23:59:59" ';
$sellbillandrutern .= ' and sellbillandrutern.sellbilldate >= "' . $start_date . '00:00:00" and sellbillandrutern.sellbilldate <= "' . $end_date . ' 23:59:59" ';
} else {
if ($start_date != '') {
$sellbill .= 'and sellbill.sellbilldate >= "' . $start_date . '" ';
$returnsellbill .= 'and returnsellbill.returnsellbilldate >= "' . $start_date . '" ';
$sellbillandrutern .= 'and sellbillandrutern.sellbilldate >= "' . $start_date . '" ';
}
if ($end_date != '') {
$sellbill .= 'and sellbill.sellbilldate <= "' . $end_date . '" ';
$returnsellbill .= 'and returnsellbill.returnsellbilldate <= "' . $end_date . '" ';
$sellbillandrutern .= 'and sellbillandrutern.sellbilldate <= "' . $end_date . '" ';
}
}
$today = date('Y-m-d');
##if no search make it today
if ($sellbill == " where 1 ") {
$sellbill .= ' and sellbill.sellbilldate >= "' . $today . ' 00:00:00" and sellbill.sellbilldate <= "' . $today . ' 23:59:59" ';
}
if ($returnsellbill == " where 1 ") {
$returnsellbill .= ' and returnsellbill.returnsellbilldate >= "' . $today . ' 00:00:00" and returnsellbill.returnsellbilldate <= "' . $today . ' 23:59:59" ';
}
if ($sellbillandrutern == " where 1 ") {
$sellbillandrutern .= 'and sellbillandrutern.sellbilldate >= "' . $today . ' 00:00:00" and sellbillandrutern.sellbilldate <= "' . $today . '23:59:59" ';
}
global $sellBillEX;
global $returnSellBillEX;
global $sellAndRuternBillEX;
global $smarty;
class billData
{
public $datetime;
}
// $sellBillData = $sellBillEX->queryAllGeneral_2($sellbill);
$sellBillData = R::findAll('sellbill', $sellbill);
// $sellBillDataReturn = $returnSellBillEX->queryAllGenerale($returnsellbill);
$sellBillDataReturn = R::findAll('returnsellbill', $returnsellbill);
// $sellBillDataSellAndReturn = $sellAndRuternBillEX->queryAllGenerales($sellbillandrutern);
$sellBillDataSellAndReturn = R::findAll('sellbillandrutern', $sellbillandrutern);
$allDataArr = array();
foreach ($sellBillData as $value) {
$myBill = new billData();
$myBill->name = '<h3 style="color: green;" >فاتورة مبيعات </h3>';
$myBill->id = '<a style="color: green;" target="_blank" href="sellbillController.php?do=showDetail&sellbillid=' . $value->sellbillid . ' ">تفاصيل</a>';
$myBill->client = $value->sellbillclientname;
$myBill->datetime = $value->sellbilldate;
$myBill->monetary += $value->sellbilltotalpayed;
$myBill->totalbill += $value->sellbillaftertotalbill;
array_push($allDataArr, $myBill);
}
foreach ($sellBillDataSellAndReturn as $value) {
$myBill = new billData();
$myBill->name = '<h3 style="color: blue;" >فاتوره مردودات مبيعات </h3>';
$myBill->id = '<a style="color: blue;" target="_blank" href="sellbillandruternController.php?do=showDetail&sellbillid=' . $value->sellbillid . ' ">تفاصيل</a>';
$myBill->client = $value->sellbillclientname;
$myBill->datetime = $value->sellbilldate;
$myBill->monetary += $value->sellbilltotalpayed;
$myBill->totalbill += $value->sellbillaftertotalbill;
array_push($allDataArr, $myBill);
}
foreach ($sellBillDataReturn as $value) {
$myBill = new billData();
$myBill->name = '<h3 style="color: red;" >فاتورة مبيعات و مردودات </h3>';
$myBill->id = '<a style="color: red;" target="_blank" href="sellbillandruternController.php?do=showDetail&sellbillid' . $value->returnsellbillid . ' ">تفاصيل </a>';
$myBill->client = $value->returnsellbillclientname;
$myBill->datetime = $value->returnsellbilldate;
$myBill->monetary -= (int)$value->returnsellbilltotalpayed;
$myBill->totalbill -= (int)$value->returnsellbillaftertotalbill;
array_push($allDataArr, $myBill);
}
$monetary = 0;
$totalbill = 0;
foreach ($allDataArr as $value) {
$totalbill += $value->totalbill;
$monetary += $value->monetary;
}
if ($day == 1) {
$myArr = array();
$existDate = array();
foreach ($allDataArr as $value) {
$dt = strtotime($value->datetime);
if (in_array(date("Y-m-d", $dt), $existDate)) {
$key = array_search(date("Y-m-d", $dt), $existDate);
$myObj = $myArr[$key];
$myObj->totalbill += $value->totalbill;
$myObj->monetary += $value->monetary;
} else {
array_push($existDate, date("Y-m-d", $dt));
array_push($myArr, $value);
}
}
$allDataArr = $myArr;
};
$all = count($allDataArr);
$output = array(
"draw" => intval($draw),
"iTotalRecords" => $all,
"iTotalDisplayRecords" => $all,
"data" => array()
);
if ($day == 0) {
foreach ($allDataArr as $value) {
$sub_array = array();
$sub_array[] = $value->name;
$sub_array[] = $value->datetime;
$sub_array[] = $value->totalbill - $value->monetary;
$sub_array[] = $value->monetary;
$sub_array[] = $value->totalbill;
$sub_array[] = $value->client;
$sub_array[] = $value->id;
$output['data'][] = $sub_array;
};
$sub_array = array();
$sub_array[] = '************';
$sub_array[] = '<h3 style="color: tomato ;" > الاجمالى </h3>';
$sub_array[] = '<h3 style="color: violet;" > ' . ($totalbill - $monetary) . ' </h3>';
$sub_array[] = '<h3 style="color: gray;" > ' . $monetary . ' </h3>';
$sub_array[] = '<h3 style="color: slateblue ;" > ' . $totalbill . ' </h3>';
$sub_array[] = '************';
$sub_array[] = '************';
$output['data'][] = $sub_array;
};
if ($day == 1) {
foreach ($allDataArr as $value) {
$sub_array = array();
$sub_array[] = '************';
$sub_array[] = $value->datetime;
$sub_array[] = $value->totalbill - $value->monetary;
$sub_array[] = $value->monetary;
$sub_array[] = $value->totalbill;
$sub_array[] = '************';
$sub_array[] = '************';
$output['data'][] = $sub_array;
};
$sub_array = array();
$sub_array[] = '************';
$sub_array[] = '<h3 style="color: tomato ;" > الاجمالى </h3>';
$sub_array[] = '<h3 style="color: violet;" > ' . ($totalbill - $monetary) . ' </h3>';
$sub_array[] = '<h3 style="color: gray;" > ' . $monetary . ' </h3>';
$sub_array[] = '<h3 style="color: slateblue ;" > ' . $totalbill . ' </h3>';
$sub_array[] = '************';
$sub_array[] = '************';
$output['data'][] = $sub_array;
};
echo json_encode($output, JSON_UNESCAPED_SLASHES);
} elseif ($do == "add") {
$start_date = $_POST["start_date"];
$end_date = $_POST["end_date"];
$day = $_POST["day"];
$sell = $_POST["sell"];
// $start_date = '2020-01-01';
// $end_date = '2020-01-23';
// $day = 0;
// $sell = 0;
$sellbill = " where 1 "; //sellbill
$returnsellbill = " where 1 "; //sellbillreturn
$sellbillandrutern = " where 1 "; //sellbillandretu
if ($start_date != '' && $end_date != '') {
if ($sell == 0 || $sell == 1) {
$sellbill .= ' and sellbill.sellbilldate >= "' . $start_date . '00:00:00" and sellbill.sellbilldate <= "' . $end_date . ' 23:59:59" ';
}
if ($sell == 0 || $sell == 2) {
$returnsellbill .= ' and returnsellbill.returnsellbilldate >= "' . $start_date . ' 00:00:00" and returnsellbill.returnsellbilldate <= "' . $end_date . ' 23:59:59" ';
}
if ($sell == 0 || $sell == 3) {
$sellbillandrutern .= ' and sellbillandrutern.sellbilldate >= "' . $start_date . ' 00:00:00" and sellbillandrutern.sellbilldate <= "' . $end_date . ' 23:59:59" ';
}
} else {
if ($start_date != '') {
if ($sell == 0 || $sell == 1) {
$sellbill .= 'and sellbill.sellbilldate >= "' . $start_date . '" ';
}
if ($sell == 0 || $sell == 2) {
$returnsellbill .= 'and returnsellbill.returnsellbilldate >= "' . $start_date . '" ';
}
if ($sell == 0 || $sell == 3) {
$sellbillandrutern .= 'and sellbillandrutern.sellbilldate >= "' . $start_date . '" ';
}
}
if ($end_date != '') {
if ($sell == 0 || $sell == 1) {
$sellbill .= 'and sellbill.sellbilldate <= "' . $end_date . '" ';
}
if ($sell == 0 || $sell == 2) {
$returnsellbill .= 'and returnsellbill.returnsellbilldate <= "' . $end_date . '" ';
}
if ($sell == 0 || $sell == 3) {
$sellbillandrutern .= 'and sellbillandrutern.sellbilldate <= "' . $end_date . '" ';
}
}
}
$today = date('Y-m-d');
##if no search make it today
if ($sellbill == " where 1 ") {
$sellbill .= ' and sellbill.sellbilldate >= "' . $today . ' 00:00:00" and sellbill.sellbilldate <= "' . $today . ' 23:59:59" ';
}
if ($returnsellbill == " where 1 ") {
$returnsellbill .= ' and returnsellbill.returnsellbilldate >= "' . $today . ' 00:00:00" and returnsellbill.returnsellbilldate <= "' . $today . ' 23:59:59" ';
}
if ($sellbillandrutern == " where 1 ") {
$sellbillandrutern .= ' and sellbillandrutern.sellbilldate >= "' . $today . ' 00:00:00" and sellbillandrutern.sellbilldate <= "' . $today . ' 23:59:59" ';
}
global $sellBillEX;
global $returnSellBillEX;
global $sellAndRuternBillEX;
global $smarty;
class billData
{
public $datetime;
}
$sellBillData = $sellBillEX->queryAllGeneral_2($sellbill);
$sellBillDataReturn = $returnSellBillEX->queryAllGenerale($returnsellbill);
$sellBillDataSellAndReturn = $sellAndRuternBillEX->queryAllGenerales($sellbillandrutern);
$allDataArr = array();
foreach ($sellBillData as $value) {
$myBill = new billData();
$myBill->name = '<h3 style="color: green;" >فاتورة مبيعات </h3>';
$myBill->id = '<a style="color: green;" target="_blank" href="sellbillController.php?do=showDetail&sellbillid=' . $value->sellbillid . ' ">تفاصيل</a>';
$myBill->client = $value->sellbillclientname;
$myBill->datetime = $value->sellbilldate;
$myBill->monetary += $value->sellbilltotalpayed;
$myBill->totalbill += $value->sellbillaftertotalbill;
array_push($allDataArr, $myBill);
}
foreach ($sellBillDataSellAndReturn as $value) {
$myBill = new billData();
$myBill->name = '<h3 style="color: blue;" >فاتوره مردودات مبيعات </h3>';
$myBill->id = '<a style="color: blue;" target="_blank" href="sellbillandruternController.php?do=showDetail&sellbillid=' . $value->sellbillid . ' ">تفاصيل</a>';
$myBill->client = $value->sellbillclientname;
$myBill->datetime = $value->sellbilldate;
$myBill->monetary += $value->sellbilltotalpayed;
$myBill->totalbill += $value->sellbillaftertotalbill;
array_push($allDataArr, $myBill);
}
foreach ($sellBillDataReturn as $value) {
$myBill = new billData();
$myBill->name = '<h3 style="color: red;" >فاتورة مبيعات و مردودات </h3>';
$myBill->id = '<a style="color: red;" target="_blank" href="sellbillandruternController.php?do=showDetail&sellbillid' . $value->returnsellbillid . ' ">تفاصيل </a>';
$myBill->client = $value->returnsellbillclientname;
$myBill->datetime = $value->returnsellbilldate;
if ($day == 1) {
$myBill->monetary -= (int)$value->returnsellbilltotalpayed;
$myBill->totalbill -= (int)$value->returnsellbillaftertotalbill;
} else {
$myBill->monetary -= (int)$value->returnsellbilltotalpayed;
$myBill->totalbill -= (int)$value->returnsellbillaftertotalbill;
}
array_push($allDataArr, $myBill);
}
$monetary = 0;
$totalbill = 0;
foreach ($allDataArr as $value) {
$totalbill += $value->totalbill;
$monetary += $value->monetary;
}
if ($day == 1) {
$myArr = array();
$existDate = array();
foreach ($allDataArr as $value) {
$dt = strtotime($value->datetime);
if (in_array(date("Y-m-d", $dt), $existDate)) {
$key = array_search(date("Y-m-d", $dt), $existDate);
$myObj = $myArr[$key];
$myObj->totalbill += $value->totalbill;
$myObj->monetary += $value->monetary;
} else {
array_push($existDate, date("Y-m-d", $dt));
array_push($myArr, $value);
}
}
$allDataArr = $myArr;
};
$all = count($allDataArr);
$output = array(
"draw" => intval($draw),
"iTotalRecords" => $all,
"iTotalDisplayRecords" => $all,
"data" => array()
);
if ($day == 0) {
foreach ($allDataArr as $value) {
$sub_array = array();
$sub_array[] = $value->name;
$sub_array[] = $value->datetime;
$sub_array[] = $value->totalbill - $value->monetary;
$sub_array[] = $value->monetary;
$sub_array[] = $value->totalbill;
$sub_array[] = $value->client;
$sub_array[] = $value->id;
$output['data'][] = $sub_array;
};
$sub_array = array();
$sub_array[] = '************';
$sub_array[] = '<h3 style="color: tomato ;" > الاجمالى </h3>';
$sub_array[] = '<h3 style="color: violet;" > ' . ($totalbill - $monetary) . ' </h3>';
$sub_array[] = '<h3 style="color: gray;" > ' . $monetary . ' </h3>';
$sub_array[] = '<h3 style="color: slateblue ;" > ' . $totalbill . ' </h3>';
$sub_array[] = '************';
$sub_array[] = '************';
$output['data'][] = $sub_array;
};
if ($day == 1) {
foreach ($allDataArr as $value) {
$sub_array = array();
$sub_array[] = '************';
$sub_array[] = $value->datetime;
$sub_array[] = $value->totalbill - $value->monetary;
$sub_array[] = $value->monetary;
$sub_array[] = $value->totalbill;
$sub_array[] = '************';
$sub_array[] = '************';
$output['data'][] = $sub_array;
};
$sub_array = array();
$sub_array[] = '************';
$sub_array[] = '<h3 style="color: tomato ;" > الاجمالى </h3>';
$sub_array[] = '<h3 style="color: violet;" > ' . ($totalbill - $monetary) . ' </h3>';
$sub_array[] = '<h3 style="color: gray;" > ' . $monetary . ' </h3>';
$sub_array[] = '<h3 style="color: slateblue ;" > ' . $totalbill . ' </h3>';
$sub_array[] = '************';
$sub_array[] = '************';
$output['data'][] = $sub_array;
};
echo json_encode($output, JSON_UNESCAPED_SLASHES);
}