547 lines
24 KiB
PHP
547 lines
24 KiB
PHP
<?php
|
||
|
||
ini_set('memory_limit', '-1');
|
||
ini_set('max_execution_time', '-1');
|
||
|
||
if (!defined('sugarEntry') || !sugarEntry)
|
||
die('Not A Valid Entry Point');
|
||
|
||
function getStocksList() {
|
||
$db = $GLOBALS['db'];
|
||
$queryStocks = "SELECT id, name FROM ecmstocks WHERE deleted= 0";
|
||
$rowsStocks = $db->query($queryStocks);
|
||
$stocks = array();
|
||
while ($rowStocks = $db->fetchByAssoc($rowsStocks)) {
|
||
$stocks [$rowStocks ["id"]] = $rowStocks ["name"];
|
||
}
|
||
return $stocks;
|
||
}
|
||
|
||
function getStockIndexList() {
|
||
$db = $GLOBALS['db'];
|
||
$queryStockIndex = "SELECT id, name FROM ecmproductstockindexs;";
|
||
$rowsStockIndex = $db->query($queryStockIndex);
|
||
$StockIndexList = array();
|
||
while ($rowStocksIndex = $db->fetchByAssoc($rowsStockIndex)) {
|
||
$StockIndexList [$rowStocksIndex ["id"]] = $rowStocksIndex ["name"];
|
||
}
|
||
return $StockIndexList;
|
||
}
|
||
|
||
function getKartotekaMaterialowaQuery($unknow) {
|
||
if (!isset($unknow) || count($unknow) == 0 || (in_array('', $unknow))) {
|
||
|
||
} else {
|
||
if (in_array('NULL', $unknow) && count($unknow) == 1) {
|
||
$query .= " AND doc.ecmproductstockindex_id IS NULL ";
|
||
} else if (in_array('NULL', $unknow) && count($unknow) > 1) {
|
||
$queryUnknow = " (";
|
||
foreach ($unknow as $key => $value) {
|
||
if ($value != 'NULL') {
|
||
$queryUnknow .= "'" . $value . "',";
|
||
}
|
||
}
|
||
$queryUnknow = rtrim($queryUnknow, ",");
|
||
$queryUnknow .= ") ";
|
||
$query .= " AND (doc.ecmproductstockindex_id IS NULL OR doc.ecmproductstockindex_id IN " . $queryUnknow . ") ";
|
||
} else {
|
||
$queryUnknow = " (";
|
||
foreach ($unknow as $key => $value) {
|
||
$queryUnknow .= "'" . $value . "',";
|
||
}
|
||
$queryUnknow = rtrim($queryUnknow, ",");
|
||
$queryUnknow .= ") ";
|
||
$query .= " AND doc.ecmproductstockindex_id IN " . $queryUnknow . " ";
|
||
}
|
||
}
|
||
return $query;
|
||
}
|
||
|
||
// Tworzy kawałek zapytania dla magazynów
|
||
// np: ('magazyn1','magazyn2',...)
|
||
function getStockQuery($stockSelected) {
|
||
if (isset($stockSelected) && count($stockSelected) > 0) {
|
||
$queryStockSelected = " (";
|
||
foreach ($stockSelected as $key => $value) {
|
||
$queryStockSelected .= "'" . $value . "',";
|
||
}
|
||
$queryStockSelected = rtrim($queryStockSelected, ",");
|
||
$queryStockSelected .= ") ";
|
||
} else {
|
||
$stockList = getStocksList();
|
||
$queryStockSelected = " (";
|
||
foreach ($stockList as $key => $value) {
|
||
$queryStockSelected .= "'" . $key . "',";
|
||
}
|
||
$queryStockSelected = rtrim($queryStockSelected, ",");
|
||
$queryStockSelected .= ") ";
|
||
}
|
||
return $queryStockSelected;
|
||
}
|
||
|
||
function getDataRwPwKs($documentsSelected, $stockSelected, $date_from, $date_to, $stockIndexSelected,$catId) {
|
||
if (!isset($documentsSelected) && isset($stockSelected) && isset($date_from) && isset($date_to)) {
|
||
return null;
|
||
}
|
||
$db = $GLOBALS['db'];
|
||
global $app_list_strings;
|
||
$documentsList = array(// dokumenty
|
||
'EcmStockDocInsideOuts' => 'RW',
|
||
'EcmStockDocInsideIns' => 'PW',
|
||
'EcmStockDocMoves' => 'MM',
|
||
'EcmStockDocCorrects' => 'KS',
|
||
'EcmStockDocIns' => 'PZ',
|
||
'EcmStockDocOuts' => 'WZ',
|
||
'EcmInvoiceOuts' => "FK",
|
||
'EcmReceipts' => 'Paragon'
|
||
);
|
||
|
||
$query = "SELECT "
|
||
. "doc.id AS docid, "
|
||
. "doc.ecmproductstockindex_name AS docstockindex, "
|
||
. "doc.name AS docname, "
|
||
. "DATE_FORMAT(doc.register_date,'%d.%m.%Y') AS docregister_date, "
|
||
. "doc.document_no AS docdocument_no, "
|
||
. "doc.stock_id AS docstock_id, "
|
||
. "o.type AS otype, "
|
||
. "o.quantity AS oquantity, "
|
||
. "o.price AS oprice, "
|
||
. "o.product_id AS oproduct_id, "
|
||
. "o.product_name AS oproduct_name, "
|
||
. "o.product_code as oproduct_code, "
|
||
. "p.unit_id as punit_id ";
|
||
if($documentsSelected=='EcmStockDocInsideIns'){
|
||
$query .= " ,IFNULL(o.work_price,0) as work_price ";
|
||
}
|
||
$query .= "FROM "
|
||
. "ecmstockoperations o, "
|
||
. "ecmproducts p, "
|
||
. "" . strtolower($documentsSelected) . " doc ";
|
||
if($catId){
|
||
$query.= ",ecmproductcategories_bean cat ";
|
||
}
|
||
$query.= "WHERE o.parent_id = doc.id ";
|
||
if($catId){
|
||
$query.= " and cat.bean_id = p.id ";
|
||
$query.= " and cat.ecmproductcategory_id = '".$catId."' ";
|
||
}
|
||
|
||
$query.=" AND p.id = o.product_id "
|
||
. "AND doc.deleted=0 "
|
||
. "AND o.deleted=0 "
|
||
. "AND doc.stock_id IN " . getStockQuery($stockSelected) . " "
|
||
. "AND doc.register_date >='" . $date_from . "' "
|
||
. "AND doc.register_date <= '" . $date_to . "'";
|
||
$query .= getKartotekaMaterialowaQuery($stockIndexSelected);
|
||
$query .= " GROUP BY o.id ORDER BY doc.register_date, o.product_code, o.product_name, doc.name";
|
||
|
||
$resultRows = $db->query($query);
|
||
$stockList = getStocksList();
|
||
while ($row = $db->fetchByAssoc($resultRows)) {
|
||
if($documentsSelected=='EcmStockDocCorrects'){
|
||
$c = new EcmStockDocCorrect();
|
||
$c->retrieve($row['docid']);
|
||
if($c->type=='6ed5b076-ddd1-9809-b236-54e5b2bcbd97'){
|
||
if($row['otype']==0){
|
||
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
} else {
|
||
$data['doc'][$row['docid']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
|
||
}
|
||
|
||
} else {
|
||
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
|
||
}
|
||
|
||
unset($c);
|
||
} else {
|
||
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
|
||
$data['prod'][$row['oproduct_id']]['work_price'] += $row['work_price'];
|
||
|
||
}
|
||
|
||
|
||
$data['prod'][$row['oproduct_id']]['kod'] = $row['oproduct_code'];
|
||
$data['prod'][$row['oproduct_id']]['nazwa'] = $row['oproduct_name'];
|
||
$data['prod'][$row['oproduct_id']]['id'] = $row['oproduct_id'];
|
||
$data['prod'][$row['oproduct_id']]['data'] = $row['docregister_date'];
|
||
$data['prod'][$row['oproduct_id']]['numer'] = $row['docdocument_no'];
|
||
$data['prod'][$row['oproduct_id']]['kartoteka'] = $row['docstockindex'];
|
||
$data['prod'][$row['oproduct_id']]['jm'] = $app_list_strings['ecmproducts_unit_dom'][$row['punit_id']];
|
||
$data['doc'][$row['docid']]['magazyn'] = $stockList[$row['docstock_id']];
|
||
$data['doc'][$row['docid']]['nazwa'] = $row['docname'];
|
||
$data['doc'][$row['docid']]['otyp'] = $row['otype'];
|
||
$data['doc'][$row['docid']]['typ'] = $documentsList[$documentsSelected];
|
||
$data['doc'][$row['docid']]['id'] = $row['docid'];
|
||
$data['doc'][$row['docid']]['data'] = $row['docregister_date'];
|
||
$data['doc'][$row['docid']]['numer'] = $row['docdocument_no'];
|
||
$data['doc'][$row['docid']]['kartoteka'] = $row['docstockindex'];
|
||
}
|
||
|
||
|
||
return $data;
|
||
}
|
||
|
||
function getDataMm($documentsSelected, $stockSelected, $date_from, $date_to, $mmSelected) {
|
||
if (!isset($documentsSelected) && isset($stockSelected) && isset($date_from) && isset($date_to)) {
|
||
return null;
|
||
}
|
||
$db = $GLOBALS['db'];
|
||
global $app_list_strings;
|
||
$documentsList = array(// dokumenty
|
||
'EcmStockDocInsideOuts' => 'RW',
|
||
'EcmStockDocInsideIns' => 'PW',
|
||
'EcmStockDocMoves' => 'MM',
|
||
'EcmStockDocCorrects' => 'KS',
|
||
'EcmStockDocIns' => 'PZ',
|
||
'EcmStockDocOuts' => 'WZ',
|
||
'EcmInvoiceOuts' => "FK",
|
||
'EcmReceipts' => 'Paragon'
|
||
);
|
||
|
||
$query = "SELECT "
|
||
. "doc.id AS docid, "
|
||
. "doc.ecmproductstockindex_name AS docstockindex, "
|
||
. "doc.name AS docname, "
|
||
. "DATE_FORMAT(doc.register_date,'%d.%m.%Y') AS docregister_date, "
|
||
. "doc.document_no AS docdocument_no, "
|
||
. "doc.stock_in_id AS docstock_in_id,"
|
||
. "doc.stock_out_id AS docstock_id,"
|
||
. "o.type AS otype, "
|
||
. "o.quantity AS oquantity, "
|
||
. "o.price AS oprice, "
|
||
. "o.product_id AS oproduct_id, "
|
||
. "o.product_name AS oproduct_name, "
|
||
. "o.product_code as oproduct_code, "
|
||
. "p.unit_id as punit_id "
|
||
. "FROM "
|
||
. "ecmstockoperations o, "
|
||
. "ecmproducts p, "
|
||
. "" . strtolower($documentsSelected) . " doc "
|
||
. "WHERE o.parent_id = doc.id "
|
||
. "AND p.id = o.product_id "
|
||
. "AND doc.deleted=0 "
|
||
. "AND o.deleted=0 "
|
||
. "AND doc.stock_out_id IN " . getStockQuery($stockSelected) . " "
|
||
. "AND doc.stock_in_id IN " . getStockQuery($mmSelected) . " "
|
||
. "AND doc.register_date >='" . $date_from . "' "
|
||
. "AND doc.register_date <= '" . $date_to . "'"
|
||
. "AND o.type=0 "
|
||
. "ORDER BY doc.register_date, o.product_code, o.product_name, doc.name ";
|
||
$resultRows = $db->query($query);
|
||
|
||
$stockList = getStocksList();
|
||
while ($row = $db->fetchByAssoc($resultRows)) {
|
||
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
|
||
$data['prod'][$row['oproduct_id']]['kod'] = $row['oproduct_code'];
|
||
$data['prod'][$row['oproduct_id']]['nazwa'] = $row['oproduct_name'];
|
||
$data['prod'][$row['oproduct_id']]['id'] = $row['oproduct_id'];
|
||
$data['prod'][$row['oproduct_id']]['data'] = $row['docregister_date'];
|
||
$data['prod'][$row['oproduct_id']]['numer'] = $row['docdocument_no'];
|
||
$data['prod'][$row['oproduct_id']]['kartoteka'] = $row['docstockindex'];
|
||
$data['prod'][$row['oproduct_id']]['jm'] = $app_list_strings['ecmproducts_unit_dom'][$row['punit_id']];
|
||
$data['doc'][$row['docid']]['magazyn'] = $stockList[$row['docstock_id']];
|
||
$data['doc'][$row['docid']]['magazynIn'] = $stockList[$row['docstock_in_id']];
|
||
$data['doc'][$row['docid']]['nazwa'] = $row['docname'];
|
||
$data['doc'][$row['docid']]['typ'] = $documentsList[$documentsSelected];
|
||
$data['doc'][$row['docid']]['id'] = $row['docid'];
|
||
$data['doc'][$row['docid']]['data'] = $row['docregister_date'];
|
||
$data['doc'][$row['docid']]['numer'] = $row['docdocument_no'];
|
||
$data['doc'][$row['docid']]['kartoteka'] = $row['docstockindex'];
|
||
}
|
||
return $data;
|
||
}
|
||
|
||
function getDataPzWzFk($documentsSelected, $stockSelected, $date_from, $date_to, $accountId, $accountName) {
|
||
//var_dump(!isset($documentsSelected) && !isset($stockSelected) && !isset($date_from) && !isset($date_to));
|
||
if (!isset($documentsSelected) && !isset($stockSelected) && !isset($date_from) && !isset($date_to)) {
|
||
return null;
|
||
}
|
||
$db = $GLOBALS['db'];
|
||
global $app_list_strings;
|
||
$documentsList = array(// dokumenty
|
||
'EcmStockDocInsideOuts' => 'RW',
|
||
'EcmStockDocInsideIns' => 'PW',
|
||
'EcmStockDocMoves' => 'MM',
|
||
'EcmStockDocCorrects' => 'KS',
|
||
'EcmStockDocIns' => 'PZ',
|
||
'EcmStockDocOuts' => 'WZ',
|
||
'EcmInvoiceOuts' => "FK",
|
||
'EcmReceipts' => 'Paragon'
|
||
);
|
||
|
||
$query = "SELECT "
|
||
. "doc.id AS docid, "
|
||
. "doc.name AS docname, "
|
||
. "DATE_FORMAT(doc.register_date,'%d.%m.%Y') AS docregister_date, "
|
||
. "doc.document_no AS docdocument_no, "
|
||
. "doc.stock_id AS docstock_id, "
|
||
. "o.type AS otype, "
|
||
. "o.quantity AS oquantity, "
|
||
. "o.price AS oprice, "
|
||
. "o.product_id AS oproduct_id, "
|
||
. "o.product_name AS oproduct_name, "
|
||
. "o.product_code as oproduct_code, "
|
||
. "doc.parent_id as docparent_id, "
|
||
. "doc.parent_name as docparent_name, ";
|
||
|
||
$query .= "p.unit_id as punit_id "
|
||
. "FROM "
|
||
. "ecmstockoperations o, "
|
||
. "ecmproducts p, "
|
||
. "" . strtolower($documentsSelected) . " doc "
|
||
. "WHERE o.parent_id = doc.id "
|
||
. "AND p.id = o.product_id "
|
||
. "AND doc.deleted=0 "
|
||
. "AND o.deleted=0 ";
|
||
if($documentsSelected=='EcmInvoiceOuts'){
|
||
$query .= " AND doc.canceled=0 ";
|
||
}
|
||
if (isset($accountId) && strlen($accountId) > 0) {
|
||
$query .= "AND doc.parent_id='" . $accountId . "' ";
|
||
}
|
||
$query.= "AND doc.stock_id IN " . getStockQuery($stockSelected) . " "
|
||
. "AND doc.register_date >='" . $date_from . "' "
|
||
. "AND doc.register_date <= '" . $date_to . "'";
|
||
|
||
if($documentsSelected == 'EcmStockDocOuts' && $_REQUEST['wz_category'] != ""){
|
||
$query.= " AND doc.category = '" . $_REQUEST['wz_category'] . "' ";
|
||
}
|
||
|
||
$query .= " ORDER BY doc.register_date, o.product_code, o.product_name, doc.name";
|
||
|
||
$resultRows = $db->query($query);
|
||
$stockList = getStocksList();
|
||
while ($row = $db->fetchByAssoc($resultRows)) {
|
||
|
||
|
||
$data['prod'][$row['oproduct_id']]['kod'] = $row['oproduct_code'];
|
||
$data['prod'][$row['oproduct_id']]['nazwa'] = $row['oproduct_name'];
|
||
$data['prod'][$row['oproduct_id']]['id'] = $row['oproduct_id'];
|
||
$data['prod'][$row['oproduct_id']]['data'] = $row['docregister_date'];
|
||
$data['prod'][$row['oproduct_id']]['otype'] = $row['otype'];
|
||
$data['prod'][$row['oproduct_id']]['numer'] = $row['docdocument_no'];
|
||
$data['prod'][$row['oproduct_id']]['jm'] = $app_list_strings['ecmproducts_unit_dom'][$row['punit_id']];
|
||
$data['doc'][$row['docid']]['magazyn'] = $stockList[$row['docstock_id']];
|
||
$data['doc'][$row['docid']]['accountId'] = $row['docparent_id'];
|
||
$data['doc'][$row['docid']]['accountNazwa'] = $row['docparent_name'];
|
||
$data['doc'][$row['docid']]['nazwa'] = $row['docname'];
|
||
$data['doc'][$row['docid']]['typ'] = $documentsList[$documentsSelected];
|
||
$data['doc'][$row['docid']]['id'] = $row['docid'];
|
||
$data['doc'][$row['docid']]['doccategory'] = $app_list_strings['ecmstockdocouts_category_list'][$row['doccategory']];
|
||
$data['doc'][$row['docid']]['data'] = $row['docregister_date'];
|
||
$data['doc'][$row['docid']]['numer'] = $row['docdocument_no'];
|
||
if ($documentsSelected == 'EcmInvoiceOuts' && $row['otype'] == '0') {
|
||
$data['doc'][$row['docid']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
|
||
$data['doc'][$row['docid']]['typ'] = 'KF';
|
||
$data['prod'][$row['oproduct_id']]['ilosc'] -= $row['oquantity'];
|
||
} else {
|
||
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
|
||
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
|
||
|
||
}
|
||
}
|
||
return $data;
|
||
}
|
||
//
|
||
// ***************************************************************************
|
||
//Pobieranie danych z filtrowania
|
||
if ($_REQUEST['date_from'] == '') {
|
||
$_REQUEST['date_from'] = date('01.m.Y');
|
||
} else {
|
||
$date_from = date('Y-m-d', strtotime($_REQUEST['date_from']));
|
||
}
|
||
if ($_REQUEST['date_to'] == '') {
|
||
$_REQUEST['date_to'] = date('t.m.Y');
|
||
} else {
|
||
$date_to = date('Y-m-d', strtotime($_REQUEST['date_to']));
|
||
}
|
||
$stockSelected = $_REQUEST['stockSelected'];
|
||
$documentsSelected = $_REQUEST['documentsSelected'];
|
||
$stockIndexSelected = $_REQUEST['stockIndexSelected'];
|
||
$catId= $_REQUEST['productCategoryId'];
|
||
$catName= $_REQUEST['productCategoryName'];
|
||
$viewSelected = $_REQUEST['viewSelected'];
|
||
$mmSelected = $_REQUEST['mmSelected'];
|
||
$accountId = $_REQUEST['accountId'];
|
||
$accountName = $_REQUEST['accountName'];
|
||
//Przygotowywanie innych potrzebnych zmiennych
|
||
$data = array();
|
||
$datatmp = array();
|
||
$db = $GLOBALS['db'];
|
||
global $mod_strings, $app_list_strings;
|
||
$stockList = getStocksList(); // magazyny
|
||
$stockIndexList = getStockIndexList(); //Kartoteki Materialowe
|
||
$documentsList = array(// dokumenty
|
||
'EcmStockDocInsideOuts' => 'RW',
|
||
'EcmStockDocInsideIns' => 'PW',
|
||
'EcmStockDocMoves' => 'MM',
|
||
'EcmStockDocCorrects' => 'KS',
|
||
'EcmStockDocIns' => 'PZ',
|
||
'EcmStockDocOuts' => 'WZ',
|
||
);
|
||
|
||
$viewList = array(//Lista widokow
|
||
'documents' => 'Dokumenty',
|
||
'positions' => 'Pozycje',
|
||
);
|
||
|
||
|
||
//Pobieranie i przetwarzanie danych
|
||
if ($documentsSelected == 'EcmStockDocInsideOuts' || $documentsSelected == 'EcmStockDocInsideIns' || $documentsSelected == 'EcmStockDocCorrects') {
|
||
$data = getDataRwPwKs($documentsSelected, $stockSelected, $date_from, $date_to, $stockIndexSelected,$catId);
|
||
} elseif ($documentsSelected == 'EcmStockDocMoves') {
|
||
$data = getDataMm($documentsSelected, $stockSelected, $date_from, $date_to, $mmSelected,$catId);
|
||
} elseif ($documentsSelected == 'EcmStockDocIns' || $documentsSelected == 'EcmStockDocOuts' || $documentsSelected == 'EcmInvoiceOuts' || $documentsSelected == 'EcmReceipts') {
|
||
$data = getDataPzWzFk($documentsSelected, $stockSelected, $date_from, $date_to, $accountId, $accountName,$catId);
|
||
}
|
||
$kategorie_wz[""] = "";
|
||
foreach($app_list_strings['ecmstockdocouts_category_list'] as $k => $v){
|
||
$kategorie_wz[$k] = $v;
|
||
}
|
||
// create & execute smarty
|
||
$smarty = new Sugar_Smarty ();
|
||
$smarty->assign("MOD", $mod_strings);
|
||
$smarty->assign("APP_LIST_STRINGS", $app_list_strings);
|
||
$smarty->assign("DATA", $data);
|
||
$smarty->assign("kategorie_wz", $kategorie_wz);
|
||
$smarty->assign("wz_category_selected", $_REQUEST['wz_category']);
|
||
$smarty->assign("stocksList", $stockList);
|
||
$smarty->assign("stockSelected", $stockSelected);
|
||
$smarty->assign("documentList", $documentsList);
|
||
$smarty->assign("documentSelected", $documentsSelected);
|
||
$smarty->assign("stockIndexList", $stockIndexList);
|
||
$smarty->assign("stockIndexSelected", $stockIndexSelected);
|
||
$smarty->assign("productCategoryName", $catName);
|
||
$smarty->assign("productCategoryId", $catId);
|
||
$smarty->assign("viewList", $viewList);
|
||
$smarty->assign("viewSelected", $viewSelected);
|
||
$smarty->assign("date_from", $_REQUEST['date_from']);
|
||
$smarty->assign("date_to", $_REQUEST['date_to']);
|
||
$smarty->assign("aktualnaData", date("d.m.Y"));
|
||
$smarty->assign("mmSelected", $mmSelected);
|
||
$smarty->assign("accountId", $accountId);
|
||
$smarty->assign("accountName", htmlentities($accountName));
|
||
// Eksport do PDF
|
||
if ($_REQUEST['toPDF'] == '1') {
|
||
if ($_REQUEST['to_xls'] == '1') {
|
||
|
||
|
||
$header=array();
|
||
$header[]='numer dokumentu';
|
||
$header[]='data';
|
||
$header[]='kontrahent';
|
||
$header[]='opis';
|
||
$header[]='wartość';
|
||
$header[]='magazyn';
|
||
$filename='modules/Home/Files/obroty_wg_magazynu_'.date('d_m-Y').'.csv';
|
||
$fp=fopen($filename,'w');
|
||
foreach ($header as $k=>$v){
|
||
|
||
$header[$k]=iconv('UTF-8','windows-1250',$header[$k]);
|
||
}
|
||
fwrite($fp, implode(";",$header).PHP_EOL);
|
||
foreach ($data['doc'] as $key=>$val){
|
||
$line=array();
|
||
$line[]='"=""'.preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['typ'].' '.$val['numer']))).'"""';
|
||
$line[]=$val['data'];
|
||
$line[]='"=""'.preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['accountNazwa']))).'"""';
|
||
$line[]='"=""'.preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['nazwa']))).'"""';
|
||
|
||
$line[]=str_replace(".",",",$val['wartosc']);
|
||
$line[]=preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['magazyn'])));
|
||
foreach ($line as $k=>$v){
|
||
$line[$k]=iconv('UTF-8','windows-1250',$line[$k]);;
|
||
}
|
||
fwrite($fp, implode(";",$line).PHP_EOL);
|
||
|
||
}
|
||
|
||
|
||
|
||
header("Location: ". $filename);
|
||
} else {
|
||
if ($documentsSelected == 'EcmStockDocInsideOuts' || $documentsSelected == 'EcmStockDocInsideIns' || $documentsSelected == 'EcmStockDocCorrects') {
|
||
$txt = 'Kartoteka materiałowa: ';
|
||
if (isset($stockIndexSelected)) {
|
||
if (count($stockIndexSelected) == count($stockIndexList) + 1) {
|
||
$txt .= 'Wszystkie';
|
||
} else {
|
||
foreach ($stockIndexSelected as $key => $value) {
|
||
if ($value == 'NULL') {
|
||
$txt .= 'Bez kartoteki materiałowej ,';
|
||
} else {
|
||
$txt .= $stockIndexList[$value] . ' ,';
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
$txt .= 'Wszystkie';
|
||
}
|
||
$txt = rtrim($txt, ",");
|
||
} elseif ($documentsSelected == 'EcmStockDocMoves') {
|
||
$txt = 'Do magazynu: ';
|
||
if (isset($mmSelected)) {
|
||
if (count($mmSelected) == count($stockList)) {
|
||
$txt .= 'Wszystkie';
|
||
} else {
|
||
foreach ($mmSelected as $key => $value) {
|
||
$txt .= $stockList[$value] . ' ,';
|
||
}
|
||
}
|
||
} else {
|
||
$txt .= 'Wszystkie';
|
||
}
|
||
$txt = rtrim($txt, ",");
|
||
} elseif ($documentsSelected == 'EcmStockDocIns' || $documentsSelected == 'EcmStockDocOuts' || $documentsSelected == 'EcmInvoiceOuts' || $documentsSelected == 'EcmReceipts') {
|
||
if (isset($accountName) && strlen($accountName) > 1) {
|
||
$txt = 'Kontrahent: ' . $accountName;
|
||
} else {
|
||
$txt = 'Kontrahent: Wszyscy';
|
||
}
|
||
}
|
||
|
||
|
||
$smarty->assign("nazwaFirmy", "E5 Polska");
|
||
$output = $smarty->fetch('modules/EcmReports/tpls/ReportStockDocMovesPDF.html');
|
||
|
||
include_once ("include/MPDF57/mpdf.php");
|
||
unset($smarty);
|
||
|
||
|
||
$p = new mPDF('', 'A4', null, 'helvetica', 10, 10, 26, 10, 5, 5);
|
||
$p->setFooter('{PAGENO}');
|
||
$p->setHTMLHeader('<div style="text-align: left; border-bottom: 1px solid #000000; font-weight: bold; font-size: 10pt;">
|
||
<table>
|
||
<tr>
|
||
<td style="font-weight: bold; font-size: 9pt;">Obroty wg dokumentów ' . $documentsList[$documentsSelected] . '</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="font-weight: bold; font-size: 9pt;">' . "E5 Polska" . '</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="font-weight: bold; font-size: 9pt;">Data wygenerowania: ' . date("d.m.Y") . ' Okres: ' . $_REQUEST['date_from'] . ' do ' . $_REQUEST['date_to'] . '</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="font-weight: bold; font-size: 9pt;">' . $txt . ' </td>
|
||
</tr>
|
||
</table>
|
||
</div>');
|
||
|
||
$p->writeHTML($output);
|
||
$p->Output("ObrotWgDokumentow_" . $documentsList[$documentsSelected] . "_" . $_REQUEST['date_from'] . "-" . $_REQUEST['date_to'].".pdf", "I");
|
||
}
|
||
} else {
|
||
$smarty->display('modules/EcmReports/tpls/ReportStockDocMoves.html');
|
||
}
|
||
?>
|