Compare commits

...

3 Commits

6 changed files with 633 additions and 549 deletions

View File

@@ -45,7 +45,7 @@ if ($_GET['ajax']) {
array_push($codes, ['id' => $p['id'], 'code' => $index]);
}
$smarty = new Sugar_Smarty ();
$smarty = new Sugar_Smarty();
if (strlen($_GET['searchType']) > 0 && $_GET['searchType'] == 'address') {
$address = $_GET['address'];
@@ -53,8 +53,24 @@ if ($_GET['ajax']) {
SELECT a.ecmproduct_id, p.name, p.code, p.ems_qty_in_stock AS stock_state, a.is_not_full FROM ecmproducts_stock_addresses AS a
INNER JOIN ecmproducts as p ON p.id=a.ecmproduct_id
WHERE stock_address='$address';"));
if ($product) {
$state = $db->fetchByAssoc($db->query("SELECT SUM(quantity) as qty FROM ecmstockstates WHERE product_id='" . $product['ecmproduct_id'] . "'"));
$product['stock_state'] = $state['qty'];
}
$smarty->assign("PROCESS", "ADDRESS");
$smarty->assign("PRODUCT", $product);
}
if (strlen($_GET['searchType']) > 0 && $_GET['searchType'] == 'address') {
$address = $_GET['address'];
$product = $db->fetchByAssoc($db->query("
SELECT a.ecmproduct_id, p.name, p.code, p.ems_qty_in_stock AS stock_state, a.is_not_full FROM ecmproducts_stock_addresses AS a
INNER JOIN ecmproducts as p ON p.id=a.ecmproduct_id
WHERE stock_address='$address';"));
if ($product) {
$state = $db->fetchByAssoc($db->query("SELECT SUM(quantity) as qty FROM ecmstockstates WHERE product_id='" . $product['ecmproduct_id'] . "'"));
$product['stock_state'] = $state['qty'];
}
$smarty->assign("PROCESS", "ADDRESS");
$smarty->assign("PRODUCT", $product);
}
@@ -167,7 +183,8 @@ ORDER BY s.stock_address;");
}
$headers = [
'Indeks', 'Adres'
'Indeks',
'Adres'
];
$sheetData = array_merge([$headers], $result);

View File

@@ -1,6 +1,6 @@
<?php
if (! defined ( 'sugarEntry' ) || ! sugarEntry)
die ( 'Not A Valid Entry Point' );
if (! defined('sugarEntry') || ! sugarEntry)
die('Not A Valid Entry Point');
/**
* **************************************************
@@ -11,64 +11,64 @@ if (! defined ( 'sugarEntry' ) || ! sugarEntry)
/**
* **************************************************
*/
$db = $GLOBALS ['db'];
$db = $GLOBALS['db'];
$data = array ();
$categoryArray = array ();
$data = array();
$categoryArray = array();
$sum = array ();
$sumSub = array ();
$sumSub2 = array ();
$sum = array();
$sumSub = array();
$sumSub2 = array();
$KSGROUPS=array();
$KSGROUPS = array();
$group['id']='1';
$group['name']='Towar handlowy';
$KSGROUPS[]=$group;
$group['id'] = '1';
$group['name'] = 'Towar handlowy';
$KSGROUPS[] = $group;
$group['id']='2';
$group['name']='Wyrób gotowy';
$KSGROUPS[]=$group;
$group['id'] = '2';
$group['name'] = 'Wyrób gotowy';
$KSGROUPS[] = $group;
$group['id']='3';
$group['name']='Surowiec';
$KSGROUPS[]=$group;
$group['id'] = '3';
$group['name'] = 'Surowiec';
$KSGROUPS[] = $group;
$group['id']='4';
$group['name']='Transport';
$KSGROUPS[]=$group;
$group['id'] = '4';
$group['name'] = 'Transport';
$KSGROUPS[] = $group;
if ($_GET ['selectProductActive'] != "") {
$selectProductActive = $_GET ['selectProductActive'];
if ($_GET['selectProductActive'] != "") {
$selectProductActive = $_GET['selectProductActive'];
} else {
$selectProductActive = "";
}
if ($_GET ['selectProductEol'] != "") {
$selectProductEol = $_GET ['selectProductEol'];
if ($_GET['selectProductEol'] != "") {
$selectProductEol = $_GET['selectProductEol'];
} else {
$selectProductEol = "";
}
if ($_GET ['selectStock'] != "") {
$selectStock = $_GET ['selectStock'];
if ($_GET['selectStock'] != "") {
$selectStock = $_GET['selectStock'];
} else {
$selectStock = "";
}
$datastocks = array ();
$users = array ();
$datastocks = array();
$users = array();
$queryStocks = "SELECT
name,
id
FROM ecmstocks
where deleted= 0";
$rowsStocks = $db->query ( $queryStocks );
$rowsStocks = $db->query($queryStocks);
while ( $rowStocks = $db->fetchByAssoc ( $rowsStocks ) ) {
$stocks ["name"] = $rowStocks ["name"];
$stocks ["id"] = $rowStocks ["id"];
$datastocks [] = $stocks;
while ($rowStocks = $db->fetchByAssoc($rowsStocks)) {
$stocks["name"] = $rowStocks["name"];
$stocks["id"] = $rowStocks["id"];
$datastocks[] = $stocks;
}
$query = "SELECT
@@ -80,20 +80,20 @@ ON ss.product_id = p.id
WHERE
p.deleted = '0' AND ss.quantity IS NOT NULL";
if ($_GET ['selectStock'] != "")
$query .= " AND ss.stock_id = '" . $_GET ["selectStock"] . "' ";
if ($_GET['selectStock'] != "")
$query .= " AND ss.stock_id = '" . $_GET["selectStock"] . "' ";
if ($_GET ['selectProductActive'] != "")
$query .= " AND p.product_active = '" . $_GET ["selectProductActive"] . "' ";
if ($_GET['selectProductActive'] != "")
$query .= " AND p.product_active = '" . $_GET["selectProductActive"] . "' ";
if ($_GET ['selectProductEol'] != "") {
if ($_GET ['selectProductEol'] == "1")
if ($_GET['selectProductEol'] != "") {
if ($_GET['selectProductEol'] == "1")
$query .= " AND p.status='end_of_line' ";
if ($_GET ['selectProductEol'] == "0")
if ($_GET['selectProductEol'] == "0")
$query .= " AND p.status!='end_of_line' ";
}
if($_GET['productKS']!=''){
$query .= " AND p.group_ks = '" . $_GET ["productKS"] . "' ";
if ($_GET['productKS'] != '') {
$query .= " AND p.group_ks = '" . $_GET["productKS"] . "' ";
}
$query .= " GROUP BY p.id";
@@ -106,30 +106,38 @@ $query .= " GROUP BY p.id";
/**
* **************************************************
*/
$rows = $db->query ( $query );
$rows = $db->query($query);
// prepare data for Smarty
while ( $r = $db->fetchByAssoc ( $rows ) ) {
$row = array ();
$row ["id"] = $r ["id"];
$row ["name"] = $r ["name"];
$row ["code"] = $r ["code"];
$row ["quantity"] = $r ["quantity"];
$row ["price"] = $r ["price"] ;
while ($r = $db->fetchByAssoc($rows)) {
$row = array();
$row["id"] = $r["id"];
$row["name"] = $r["name"];
$row["code"] = $r["code"];
$row["quantity"] = $r["quantity"];
$row["price"] = $r["price"];
// stock addresses
$a = $db->query("SELECT stock_address FROM ecmproducts_stock_addresses WHERE ecmproduct_id='" . $r['id'] . "' ORDER BY stock_address");
$addresses = array();
while ($addr = $db->fetchByAssoc($a)) {
$addresses[] = $addr['stock_address'];
}
$row['stock_address'] = implode(", ", $addresses);
$querySubCategory = "SELECT category.name as 'podkategoria'
FROM
ecmproductcategories_bean bean
JOIN
ecmproductcategories category ON bean.ecmproductcategory_id = category.id
WHERE bean.bean_id='" . $row ["id"] . "'
WHERE bean.bean_id='" . $row["id"] . "'
and bean.position = '1'
and bean.deleted = '0'
and category.deleted = '0';";
$rowsSubCategory = $db->query ( $querySubCategory );
$row["podkategoria"] ="";
while ( $rowSubCategory = $db->fetchByAssoc ( $rowsSubCategory ) ) {
$row ["podkategoria"] = $rowSubCategory ["podkategoria"];
$rowsSubCategory = $db->query($querySubCategory);
$row["podkategoria"] = "";
while ($rowSubCategory = $db->fetchByAssoc($rowsSubCategory)) {
$row["podkategoria"] = $rowSubCategory["podkategoria"];
}
$queryCategory = "SELECT category.name as 'kategoria'
@@ -137,51 +145,53 @@ while ( $r = $db->fetchByAssoc ( $rows ) ) {
ecmproductcategories_bean bean
JOIN
ecmproductcategories category ON bean.ecmproductcategory_id = category.id
WHERE bean.bean_id='" . $row ["id"] . "'
WHERE bean.bean_id='" . $row["id"] . "'
and bean.position = '0'
and bean.deleted = '0'
and category.deleted = '0';";
$rowscategory = $db->query ( $queryCategory );
$rowscategory = $db->query($queryCategory);
$row["kategoria"] = "";
while ( $rowcategory = $db->fetchByAssoc ( $rowscategory ) ) {
$row ["kategoria"] = $rowcategory ["kategoria"];
while ($rowcategory = $db->fetchByAssoc($rowscategory)) {
$row["kategoria"] = $rowcategory["kategoria"];
}
$data [] = $row;
$data[] = $row;
}
// //////////////// SUM /////////////////////////////////
foreach ( $data as $key => &$element ) {
$categoryArray1 [$element ["kategoria"] == "" ? "Inne" : $element ["kategoria"]] [$element ["podkategoria"] == "" ? "Reszta" : $element ["podkategoria"]] [$key] = $element;
foreach ($data as $key => &$element) {
$categoryArray1[$element["kategoria"] == "" ? "Inne" : $element["kategoria"]][$element["podkategoria"] == "" ? "Reszta" : $element["podkategoria"]][$key] = $element;
}
function cmp($a, $b) {
if ($a ["name"] == $b ["name"]) {
function cmp($a, $b)
{
if ($a["name"] == $b["name"]) {
return 0;
}
return ($a ["name"] < $b ["name"]) ? - 1 : 1;
return ($a["name"] < $b["name"]) ? -1 : 1;
}
// grupowanie po kategoriach
foreach ( $categoryArray1 as $key1 => &$element1 ) {
foreach ( $element1 as $key2 => &$element2 ) {
usort ( $element2, "cmp" );
foreach ($categoryArray1 as $key1 => &$element1) {
foreach ($element1 as $key2 => &$element2) {
usort($element2, "cmp");
$i = 0;
$tmp2 [$key1] [$key2] [0] = array (
$tmp2[$key1][$key2][0] = array(
'name' => null
);
$counter = 0;
foreach ( $element2 as $count => &$element3 ) {
if ($element3 ["id"] != $tmp2 [$key1] [$key2] [$i] ["id"]) {
foreach ($element2 as $count => &$element3) {
if ($element3["id"] != $tmp2[$key1][$key2][$i]["id"]) {
if ($tmp2 [$key1] [$key2] [$i] ["id"] != null) {
$i ++;
if ($tmp2[$key1][$key2][$i]["id"] != null) {
$i++;
}
$tmp2 [$key1] [$key2] [$i] ["id"] = $element3 ["id"];
$tmp2 [$key1] [$key2] [$i] ["name"] = $element3 ["name"];
$tmp2 [$key1] [$key2] [$i] ["code"] = $element3 ["code"];
$tmp2 [$key1] [$key2] [$i] ["quantity"] = $element3 ["quantity"];
$tmp2 [$key1] [$key2] [$i] ["price"] = $element3 ["price"];
$tmp2[$key1][$key2][$i]["id"] = $element3["id"];
$tmp2[$key1][$key2][$i]["name"] = $element3["name"];
$tmp2[$key1][$key2][$i]["code"] = $element3["code"];
$tmp2[$key1][$key2][$i]["stock_address"] = $element3["stock_address"];
$tmp2[$key1][$key2][$i]["quantity"] = $element3["quantity"];
$tmp2[$key1][$key2][$i]["price"] = $element3["price"];
}
$counter += 1;
@@ -197,67 +207,67 @@ foreach ( $categoryArray1 as $key1 => &$element1 ) {
$categoryArray = $tmp2;
}
}
foreach ( $categoryArray as $key => &$element ) {
foreach ($categoryArray as $key => &$element) {
$count = 0;
foreach ( $element as $keyy => &$elementt ) {
foreach ( $elementt as $keyyy => &$elementtt ) {
$sumSub ["QuantitySum"] [$key] += $elementtt ["quantity"];
$sumSub ["PriceSum"] [$key] += $elementtt ["price"];
foreach ($element as $keyy => &$elementt) {
foreach ($elementt as $keyyy => &$elementtt) {
$sumSub["QuantitySum"][$key] += $elementtt["quantity"];
$sumSub["PriceSum"][$key] += $elementtt["price"];
$sumSub2 ["QuantitySum"] [$key] [$keyy] += $elementtt ["quantity"];
$sumSub2 ["PriceSum"] [$key] [$keyy] += $elementtt ["price"];
$sumSub2["QuantitySum"][$key][$keyy] += $elementtt["quantity"];
$sumSub2["PriceSum"][$key][$keyy] += $elementtt["price"];
}
$count += sizeof ( $elementt );
$count += sizeof($elementt);
$categoryArray [$key] [$keyy] ["QuantitySum2"] = $sumSub2 ["QuantitySum"] [$key] [$keyy];
$categoryArray [$key] [$keyy] ["PriceSum2"] = $sumSub2 ["PriceSum"] [$key] [$keyy];
$categoryArray[$key][$keyy]["QuantitySum2"] = $sumSub2["QuantitySum"][$key][$keyy];
$categoryArray[$key][$keyy]["PriceSum2"] = $sumSub2["PriceSum"][$key][$keyy];
}
$categoryArray [$key] ["QuantitySum"] = $sumSub ["QuantitySum"] [$key];
$categoryArray [$key] ["PriceSum"] = $sumSub ["PriceSum"] [$key];
$categoryArray[$key]["QuantitySum"] = $sumSub["QuantitySum"][$key];
$categoryArray[$key]["PriceSum"] = $sumSub["PriceSum"][$key];
}
foreach ( $categoryArray as $key => &$element ) {
$sum ["QuantitySumSum"] += $sumSub ["QuantitySum"] [$key];
$sum ["PriceSumSum"] += $sumSub ["PriceSum"] [$key];
foreach ($categoryArray as $key => &$element) {
$sum["QuantitySumSum"] += $sumSub["QuantitySum"][$key];
$sum["PriceSumSum"] += $sumSub["PriceSum"][$key];
}
foreach ( $categoryArray as $key1 => &$element ) {
foreach ( $element as $key2 => &$elements ) {
foreach ( $element as $key3 => &$element2 ) {
if ($sumSub2 ["PriceSum"] [$key1] [$key2] > $sumSub2 ["PriceSum"] [$key1] [$key3]) {
$tmp = $sumSub2 ["PriceSum"] [$key1] [$key2];
$sumSub2 ["PriceSum"] [$key1] [$key2] = $sumSub2 ["PriceSum"] [$key1] [$key3];
$sumSub2 ["PriceSum"] [$key1] [$key3] = $tmp;
foreach ($categoryArray as $key1 => &$element) {
foreach ($element as $key2 => &$elements) {
foreach ($element as $key3 => &$element2) {
if ($sumSub2["PriceSum"][$key1][$key2] > $sumSub2["PriceSum"][$key1][$key3]) {
$tmp = $sumSub2["PriceSum"][$key1][$key2];
$sumSub2["PriceSum"][$key1][$key2] = $sumSub2["PriceSum"][$key1][$key3];
$sumSub2["PriceSum"][$key1][$key3] = $tmp;
}
}
}
}
foreach ( $sumSub ["PriceSum"] as $key1 => &$element ) {
foreach ( $sumSub ["PriceSum"] as $key2 => &$element2 ) {
if ($sumSub ["PriceSum"] [$key1] > $sumSub ["PriceSum"] [$key2]) {
$tmp = $sumSub ["PriceSum"] [$key1];
$sumSub ["PriceSum"] [$key1] = $sumSub ["PriceSum"] [$key2];
$sumSub ["PriceSum"] [$key2] = $tmp;
foreach ($sumSub["PriceSum"] as $key1 => &$element) {
foreach ($sumSub["PriceSum"] as $key2 => &$element2) {
if ($sumSub["PriceSum"][$key1] > $sumSub["PriceSum"][$key2]) {
$tmp = $sumSub["PriceSum"][$key1];
$sumSub["PriceSum"][$key1] = $sumSub["PriceSum"][$key2];
$sumSub["PriceSum"][$key2] = $tmp;
}
}
}
// //////////////// SORT array /////////////////////////////////
$newArray2;
foreach ( $sumSub ["PriceSum"] as $key1 => &$element1 ) {
foreach ( $categoryArray as $key2 => &$element2 ) {
if ($sumSub ["PriceSum"] [$key1] == $categoryArray [$key2] ["PriceSum"]) {
$newArray2 [$key2] = $categoryArray [$key2];
foreach ($sumSub["PriceSum"] as $key1 => &$element1) {
foreach ($categoryArray as $key2 => &$element2) {
if ($sumSub["PriceSum"][$key1] == $categoryArray[$key2]["PriceSum"]) {
$newArray2[$key2] = $categoryArray[$key2];
}
}
}
$newArray1;
foreach ( $newArray2 as $key1 => &$element1 ) {
foreach ( $element1 as $key2 => &$element2 ) {
foreach ( $element1 as $key3 => &$element3 ) {
if ($sumSub2 ["PriceSum"] [$key1] [$key2] == $newArray2 [$key1] [$key3] ["PriceSum2"]) {
$newArray1 [$key1] [$key3] = $newArray2 [$key1] [$key3];
foreach ($newArray2 as $key1 => &$element1) {
foreach ($element1 as $key2 => &$element2) {
foreach ($element1 as $key3 => &$element3) {
if ($sumSub2["PriceSum"][$key1][$key2] == $newArray2[$key1][$key3]["PriceSum2"]) {
$newArray1[$key1][$key3] = $newArray2[$key1][$key3];
}
}
}
@@ -274,17 +284,15 @@ foreach ( $newArray2 as $key1 => &$element1 ) {
* **************************************************
*/
// create & execute smarty
$smarty = new Sugar_Smarty ();
$smarty = new Sugar_Smarty();
global $mod_strings;
$smarty->assign ( "MOD", $mod_strings );
$smarty->assign ( "DATA", $newArray1 );
$smarty->assign ( "SUM", $sum );
$smarty->assign ('KSGROUPS',$KSGROUPS);
$smarty->assign ( "STOCKS", $datastocks );
$smarty->assign ( "selectStock", $selectStock );
$smarty->assign ('selectKS',$_GET['productKS']);
$smarty->assign ( "selectProductActive", $selectProductActive );
$smarty->assign ( "selectProductEol", $selectProductEol );
echo $smarty->display ( 'modules/EcmReports/tpls/ReportStocks.tpl' );
?>
$smarty->assign("MOD", $mod_strings);
$smarty->assign("DATA", $newArray1);
$smarty->assign("SUM", $sum);
$smarty->assign('KSGROUPS', $KSGROUPS);
$smarty->assign("STOCKS", $datastocks);
$smarty->assign("selectStock", $selectStock);
$smarty->assign('selectKS', $_GET['productKS']);
$smarty->assign("selectProductActive", $selectProductActive);
$smarty->assign("selectProductEol", $selectProductEol);
echo $smarty->display('modules/EcmReports/tpls/ReportStocks.tpl');

View File

@@ -1,7 +1,7 @@
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css" />
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css" />
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css" />
<!-- Tablesorter -->
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.min.js"></script>
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.min.js"></script>
@@ -34,7 +34,7 @@
background-color: #BDC7B5;
}
.sumAll td{
.sumAll td {
background-color: #BDC7B5;
}
@@ -48,6 +48,7 @@
background: #EFEFF1;
color: #343432;
}
table.tablesorter tbody tr.alt-row td {
background: #FFF;
color: #343432;
@@ -58,21 +59,25 @@
background: #E8E8E8;
color: #343432;
}
table.tablesorter tbody tr.alt-row:hover td {
background: #E8E8E8;
color: #343432;
}
table.tablesorter tbody tr.sumAll td {
background: #EBEBED;
color: black;
}
table.tablesorter tbody tr.sumAll:hover td {
background: #E0E0E2;
color: black;
font-weight: bold;
}
table.tablesorter .sumRow, .oddListRowS1 {
table.tablesorter .sumRow,
.oddListRowS1 {
text-align: right;
}
@@ -99,10 +104,11 @@
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tbody>
<tr>
<td>
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;"
alt="EcmProducts" width="16" border="0" height="16">
</td>
<td>
<h2>{$MOD.LBL_REPORT_STOCKS} </h2>
@@ -120,15 +126,17 @@
<form action="index.php" method="get" name="searchReportStocks">
<input type="hidden" name="module" value="EcmReports" />
<input type="hidden" name="action" value="ReportStocks" />
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_STOCK}</td>
<td class="dataField" width="10%" nowrap="nowrap">
<select id="stock" name="selectStock">
<option value="" { if $selectStock==""} selected="true" {/if} >{$MOD.LBL_ALL_STOCKS}</option>
<option value="" { if $selectStock=="" } selected="true" {/if}>{$MOD.LBL_ALL_STOCKS}</option>
{foreach from=$STOCKS item=STOCK key=count name=loop}
<option value="{$STOCK.id}" { if $selectStock==$STOCK.id} selected="true" {/if} >{$STOCK.name}</option>
<option value="{$STOCK.id}" { if $selectStock==$STOCK.id} selected="true" {/if}>{$STOCK.name}
</option>
{/foreach}
</select>
</td>
@@ -137,27 +145,29 @@
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_PRODUCT_ACTIVE}</td>
<td class="dataField" width="10%" nowrap="nowrap">
<select id="productActive" name="selectProductActive">
<option value="" { if $selectProductActive==""} selected="true" {/if} >{$MOD.LBL_YES}/{$MOD.LBL_NO}</option>
<option value="1" { if $selectProductActive=="1"} selected="true" {/if} >{$MOD.LBL_YES}</option>
<option value="0" { if $selectProductActive=="0"} selected="true" {/if} >{$MOD.LBL_NO}</option>
<option value="" { if $selectProductActive=="" } selected="true" {/if}>{$MOD.LBL_YES}/{$MOD.LBL_NO}
</option>
<option value="1" { if $selectProductActive=="1" } selected="true" {/if}>{$MOD.LBL_YES}</option>
<option value="0" { if $selectProductActive=="0" } selected="true" {/if}>{$MOD.LBL_NO}</option>
</select>
</td>
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
<td class="dataLabel" width="5%" nowrap="nowrap">End of line</td>
<td class="dataField" width="10%" nowrap="nowrap">
<select id="productEol" name="selectProductEol">
<option value="" { if $selectProductEol==""} selected="true" {/if} >{$MOD.LBL_YES}/{$MOD.LBL_NO}</option>
<option value="1" { if $selectProductEol=="1"} selected="true" {/if} >{$MOD.LBL_YES}</option>
<option value="0" { if $selectProductEol=="0"} selected="true" {/if} >{$MOD.LBL_NO}</option>
<option value="" { if $selectProductEol=="" } selected="true" {/if}>{$MOD.LBL_YES}/{$MOD.LBL_NO}
</option>
<option value="1" { if $selectProductEol=="1" } selected="true" {/if}>{$MOD.LBL_YES}</option>
<option value="0" { if $selectProductEol=="0" } selected="true" {/if}>{$MOD.LBL_NO}</option>
</select>
</td>
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
<td class="dataLabel" width="5%" nowrap="nowrap">Grupa księgowa</td>
<td class="dataField" width="10%" nowrap="nowrap">
<select id="productKS" name="productKS">
<option value="" { if $selectKS==""} selected="true" {/if} >Wszystkie</option>
<option value="" { if $selectKS=="" } selected="true" {/if}>Wszystkie</option>
{foreach from=$KSGROUPS item=GROUP key=count name=loop}
<option value="{$GROUP.id}" { if $selectKS==$GROUP.id} selected="true" {/if} >{$GROUP.name}</option>
<option value="{$GROUP.id}" { if $selectKS==$GROUP.id} selected="true" {/if}>{$GROUP.name}</option>
{/foreach}
</select>
</td>
@@ -175,50 +185,76 @@
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
</tr>
</tbody>
</table>
</tbody>
</table>
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=ReportSales';">
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button"
onclick="location.href='index.php?module=EcmReports&action=ReportSales';">
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
<br>
<br>
<br>
<br>
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
<thead>
<tr class="tablesorter-headerRow" role="row">
<th width="30%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_PRODUCTS}</th>
<th width="10%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_INDEX}</th>
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_QUANTITY}</th>
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_VALUE}</th>
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Średnia Cena</th>
<th width="30%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="0"
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
style="-moz-user-select: none;" aria-sort="none"
aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_PRODUCTS}</th>
<th width="4%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="1"
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
style="-moz-user-select: none;" aria-sort="none"
aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_INDEX}</th>
<th width="6%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="1"
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
style="-moz-user-select: none;" aria-sort="none"
aria-label="Name: No sort applied, activate to apply an ascending sort">Adres magazynowy</th>
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5"
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
style="-moz-user-select: none;" aria-sort="none"
aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_QUANTITY}</th>
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6"
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
style="-moz-user-select: none;" aria-sort="none"
aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_VALUE}</th>
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6"
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
style="-moz-user-select: none;" aria-sort="none"
aria-label="Name: No sort applied, activate to apply an ascending sort">Średnia Cena</th>
</tr>
</thead>
{foreach from=$DATA item=CAT key=CATNAME name=loop}
{foreach from=$DATA item=CAT key=CATNAME name=loop}
{* Table headers *}
<tbody id="functions-core" class="tablesorter-infoOnly">
<tr class="static category">
{if $CATNAME != ""}
<td class="oddListRowS1 alignLeft"><a class="plusStyle showTables">[+]</a><b> {$CATNAME}</b></td>
{/if}
<td class="oddListRowS1" ></td>
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.QuantitySum|number_format:4:",":"." }</b></td>
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.PriceSum|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.PriceSum/$DATA.$CATNAME.QuantitySum|number_format:2:",":"." }</b></td>
<td class="oddListRowS1"></td>
<td class="oddListRowS1"></td>
<td class="oddListRowS1 sumRow"><b>{$DATA.$CATNAME.QuantitySum|number_format:4:",":"." }</b></td>
<td class="oddListRowS1 sumRow"><b>{$DATA.$CATNAME.PriceSum|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 sumRow">
<b>{$DATA.$CATNAME.PriceSum/$DATA.$CATNAME.QuantitySum|number_format:2:",":"." }</b></td>
</tr>
</tbody>
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
{if $CAT2NAME!="QuantitySum" && $CAT2NAME!="PriceSum"}
<tbody id="functions-core" class="tablesorter-infoOnly tablesShowHide">
<tr class="subcategory">
<td class="oddListRowS1 alignLeft"><a class="showRows" style="color: cadetblue; text-decoration: none; cursor: pointer;">[+]</a><b> {$CAT2NAME}</b></td>
<td class="oddListRowS1" ></td>
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.QuantitySum2|number_format:4:",":"." }</b></td>
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.PriceSum2|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.PriceSum2/$CAT.$CAT2NAME.QuantitySum2|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 alignLeft"><a class="showRows"
style="color: cadetblue; text-decoration: none; cursor: pointer;">[+]</a><b> {$CAT2NAME}</b>
</td>
<td class="oddListRowS1"></td>
<td class="oddListRowS1"></td>
<td class="oddListRowS1 sumRow"><b>{$CAT.$CAT2NAME.QuantitySum2|number_format:4:",":"." }</b></td>
<td class="oddListRowS1 sumRow"><b>{$CAT.$CAT2NAME.PriceSum2|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 sumRow">
<b>{$CAT.$CAT2NAME.PriceSum2/$CAT.$CAT2NAME.QuantitySum2|number_format:2:",":"." }</b></td>
</tr>
</tbody>
@@ -232,14 +268,16 @@
{/if}
<td class="oddListRowS1 alignLeft" style="text-align:left;">
<a target="new" href="index.php?module=EcmProducts&action=index&return_module=EcmProducts&action=DetailView&record={$ROW.id}">
<a target="new"
href="index.php?module=EcmProducts&action=index&return_module=EcmProducts&action=DetailView&record={$ROW.id}">
{$ROW.name}
</a>
</td>
<td class="oddListRowS1 alignLeft" >{$ROW.code}</td>
<td class="oddListRowS1" >{$ROW.quantity|number_format:4:",":"."}</td>
<td class="oddListRowS1" >{$ROW.price|number_format:2:",":"."}</td>
<td class="oddListRowS1" >{$ROW.price/$ROW.quantity|number_format:2:",":"."}</td>
<td class="oddListRowS1 alignLeft">{$ROW.code}</td>
<td class="oddListRowS1">{$ROW.stock_address}</td>
<td class="oddListRowS1">{$ROW.quantity|number_format:4:",":"."}</td>
<td class="oddListRowS1">{$ROW.price|number_format:2:",":"."}</td>
<td class="oddListRowS1">{$ROW.price/$ROW.quantity|number_format:2:",":"."}</td>
</tr>
{/if}
{/foreach}
@@ -248,15 +286,17 @@
{/if}
{/foreach}
<tbody id="stopTables"></tbody>
{/foreach}
{/foreach}
<tbody id="functions-core" class="tablesorter-infoOnly">
<tr class="static category sumAll">
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
<td class="oddListRowS1" ></td>
<td class="oddListRowS1 sumRow" ><b>{$SUM.QuantitySumSum|number_format:4:",":"." }</b></td>
<td class="oddListRowS1 sumRow" ><b>{$SUM.PriceSumSum|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 sumRow" ><b>{$SUM.PriceSumSum/$SUM.QuantitySumSum|number_format:2:",":"." }</b></td>
<td class="oddListRowS1"></td>
<td class="oddListRowS1"></td>
<td class="oddListRowS1 sumRow"><b>{$SUM.QuantitySumSum|number_format:4:",":"." }</b></td>
<td class="oddListRowS1 sumRow"><b>{$SUM.PriceSumSum|number_format:2:",":"." }</b></td>
<td class="oddListRowS1 sumRow"><b>{$SUM.PriceSumSum/$SUM.QuantitySumSum|number_format:2:",":"." }</b>
</td>
</tr>
</tbody>
</table>
<br/>
<br />

View File

@@ -76,7 +76,7 @@ if (
$r = $db->fetchByAssoc ( $rows );
if($r['id']!='')$can_edit=false;
$edit->ss->assign("CAN_EDIT", $can_edit);
$edit->ss->assign("CAN_EDIT", true);
$edit->ss->assign("CREATED_BY_NAME", $focus->created_by_name);
$edit->ss->assign("MODIFIED_BY_NAME", $focus->modified_by_name);

View File

@@ -864,7 +864,7 @@ class EcmSale extends SugarBean
$where = " and " . implode(" and ", $field_array);
else
$where = "";
$z = "select * from ecmsales where deleted='0' and status!='s10' " . $where . " ORDER BY send_date DESC";
$z = "select * from ecmsales where deleted='0' and status!='s10' " . $where . " ORDER BY send_date";
return $z;
}
@@ -1059,6 +1059,16 @@ class EcmSale extends SugarBean
$result_array[$i]['total_invoice'] = $total_invoice;
$result_array[$i]['percent'] = $percent;
$result_array[$i]['currency'] = $r['currency_id'];
$result_array[$i]['delivery_name'] = null;
if (strlen($r['shipping_address_name']) > 0) {
$result_array[$i]['delivery_name'] = $r['shipping_address_name'];
$d = $db->fetchByAssoc($db->query(sprintf("SELECT id, TRIM(name) FROM accounts WHERE name LIKE '%s' AND deleted=0", strtolower(trim($r['shipping_address_name'])))));
if ($d && $d['id']) {
$result_array[$i]['delivery_id'] = $d['id'];
}
}
$i++;
$sum_total_qty += $total_qty;

View File

@@ -1,16 +1,15 @@
<script type="text/javascript"
src="include/ECM/EcmMultiPdf/EcmMultiPdf.js"></script>
<script type="text/javascript"
src="include/jQuery/jquery.blockUI.js"></script>
<script type="text/javascript" src="include/ECM/EcmMultiPdf/EcmMultiPdf.js"></script>
<script type="text/javascript" src="include/jQuery/jquery.blockUI.js"></script>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><img src="themes/Sugar/images/EcmProducts.gif"
style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts"
<td><img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts"
width="16" border="0" height="16"></td>
<td><h2>{$MOD.LBL_LISTNEWSALES_NAME}</h2></td>
<td>
<h2>{$MOD.LBL_LISTNEWSALES_NAME}</h2>
</td>
</tr>
</table>
<br/>
<br />
<form action="index.php?module=EcmSales&action=ListNewSales" method="get" name="SearchFormListNewSales">
<ul class="tablist" style="width:100%;">
<input type="hidden" name="module" value="EcmSales">
@@ -27,8 +26,8 @@
</td>
<td nowrap="">
<input type="text" maxlength="10" size="11" tabindex="" title=""
value="{if $POST.date_send_from!=''}{$POST.date_send_from}{else}{$smarty.now|date_format:"%d.%m.%Y"}{/if}" id="date_send_from"
name="date_send_from" autocomplete="off">
value="{if $POST.date_send_from!=''}{$POST.date_send_from}{else}{$smarty.now|date_format:"%d.%m.%Y"}{/if}"
id="date_send_from" name="date_send_from" autocomplete="off">
<img align="absmiddle" border="0" id="date_send_from_trigger" name="date_send_from_trigger"
alt="Enter Date" src="themes/default/images/jscalendar.gif">
<script type="text/javascript">
@@ -42,16 +41,15 @@
dateStr: "",
step: 1,
weekNumbers: false
}
);
});
{/literal}
</script>
{$MOD.LBL_LISTNEWSALES_DATE_END}:
<input type="text" maxlength="10" size="11" tabindex="" title=""
value="{if $POST.date_send_to!=''}{$POST.date_send_to}{else}{$smarty.now|date_format:"%d.%m.%Y"}{/if}" id="date_send_to"
name="date_send_to" autocomplete="off">
value="{if $POST.date_send_to!=''}{$POST.date_send_to}{else}{$smarty.now|date_format:"%d.%m.%Y"}{/if}"
id="date_send_to" name="date_send_to" autocomplete="off">
<img align="absmiddle" border="0" id="date_send_to_trigger" name="date_send_to_trigger" alt="Enter Date"
src="themes/default/images/jscalendar.gif">
<script type="text/javascript">
@@ -65,8 +63,7 @@
dateStr: "",
step: 1,
weekNumbers: false
}
);
});
{/literal}
</script>
</td>
@@ -74,7 +71,8 @@
<td rowspan="2">
<select id="sale_type" name="sale_type[]" multiple="true">
{foreach from=$SALE_TYPES key="key" item="value" name="sale_types"}
<option {if in_array($key, $SELECTED_TYPES)}selected="selected" {/if} value="{$key}">{$value}</option>
<option {if in_array($key, $SELECTED_TYPES)}selected="selected" {/if} value="{$key}">{$value}
</option>
{/foreach}
</select>
</td>
@@ -82,7 +80,8 @@
<td rowspan="2">
<select id="sale_status" name="sale_status[]" multiple="true">
{foreach from=$SALE_STATUSES key="key" item="value" name="sale_statuses"}
<option {if in_array($key, $SELECTED_STATUSES)}selected="selected" {/if} value="{$key}">{$value}</option>
<option {if in_array($key, $SELECTED_STATUSES)}selected="selected" {/if} value="{$key}">{$value}
</option>
{/foreach}
</select>
</td>
@@ -118,8 +117,8 @@
</td>
<td nowrap="">
<input type="text" maxlength="10" size="11" tabindex="" title=""
value="{if $POST.date_from!=''}{$POST.date_from}{/if}"
id="date_from" name="date_from" autocomplete="off">
value="{if $POST.date_from!=''}{$POST.date_from}{/if}" id="date_from" name="date_from"
autocomplete="off">
<img align="absmiddle" border="0" id="date_from_trigger" name="date_from_trigger" alt="Enter Date"
src="themes/default/images/jscalendar.gif">
<script type="text/javascript">
@@ -133,14 +132,12 @@
dateStr: "",
step: 1,
weekNumbers: false
}
);
});
{/literal}
</script>
do:
<input type="text" maxlength="10" size="11" tabindex="" title=""
value="{if $POST.date_to!=''}{$POST.date_to}{/if}"
id="date_to" name="date_to" autocomplete="off">
value="{if $POST.date_to!=''}{$POST.date_to}{/if}" id="date_to" name="date_to" autocomplete="off">
<img align="absmiddle" border="0" id="date_to_trigger" name="date_to_trigger" alt="Enter Date"
src="themes/default/images/jscalendar.gif">
<script type="text/javascript">
@@ -154,8 +151,7 @@
dateStr: "",
step: 1,
weekNumbers: false
}
);
});
{/literal}
</script>
</td>
@@ -170,7 +166,8 @@
</table>
<h3 style="color:red">{if $POST.date_send_from!='' && $POST.date_from!=''}Proszę wybrać date dostawy lub datę wysyłki{/if}</h3>
<h3 style="color:red">{if $POST.date_send_from!='' && $POST.date_from!=''}Proszę wybrać date dostawy lub datę
wysyłki{/if}</h3>
<input type="hidden" id="idss" value="">
<input type="submit" value="{$MOD.LBL_LISTNEWSALES_POST}" name="submit" class="button">
<input type="button" onclick="location.href='index.php?module=EcmSales&amp;action=ListNewSales';"
@@ -219,21 +216,30 @@
</td>
<td></td>
<td>
<a href="index.php?module=Accounts&action=DetailView&record={$item.parent_id}">{$item.parent_name}</a>
<a
href="index.php?module=Accounts&action=DetailView&record={$item.parent_id}">{$item.parent_name}</a>
{if $item.delivery_name}
{if $item.delivery_id}
&nbsp;(<a
href="index.php?module=Accounts&action=DetailView&record={$item.delivery_id}">{$item.delivery_name}</a>)
{else}
&nbsp;({$item.delivery_name})
{/if}
{/if}
</td>
<td>{$item.delivery_date}</td>
<td><input type="checkbox" {if $item.send_accepted==true}checked="checked" {/if}
disabled="disabled"></td>
<td><input type="checkbox" {if $item.send_accepted==true}checked="checked" {/if} disabled="disabled">
</td>
<td>{$item.send_date} </td>
<td style="text-align: right">{$item.quantity}</td>
<td data-total="{$item.total_netto}"
style="text-align: right">{$item.total_netto|number_format:2:".":","}</td>
<td data-total="{$item.total_vat}"
style="text-align: right">{$item.total_vat|number_format:2:".":","}</td>
<td data-total="{$item.total_brutto}"
style="text-align: right">{$item.total_brutto|number_format:2:".":","}</td>
<td data-total="{$item.total_invoice}"
style="text-align: right">{$item.total_invoice|number_format:2:".":","}</td>
<td data-total="{$item.total_netto}" style="text-align: right">
{$item.total_netto|number_format:2:".":","}</td>
<td data-total="{$item.total_vat}" style="text-align: right">{$item.total_vat|number_format:2:".":","}
</td>
<td data-total="{$item.total_brutto}" style="text-align: right">
{$item.total_brutto|number_format:2:".":","}</td>
<td data-total="{$item.total_invoice}" style="text-align: right">
{$item.total_invoice|number_format:2:".":","}</td>
<td style="text-align: right">{$item.percent}<a style="cursor:pointer;"
onclick="{literal}if(document.getElementById('div{/literal}{$item.id}{literal}').style.display=='none'){document.getElementById('div{/literal}{$item.id}{literal}').style.display='block';}else{document.getElementById('{/literal}div{$item.id}{literal}').style.display='none';}{/literal} "><img
border="0" src="modules/EcmQuotes/images/search.gif"></a>
@@ -274,14 +280,16 @@
<td></td>
<td></td>
<td>
<span style="color:red;font-weight:bold">{$item.products.minus|number_format:2:".":","}</span>
<span
style="color:red;font-weight:bold">{$item.products.minus|number_format:2:".":","}</span>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<span style="color:green;font-weight:bold">{$item.products.plus|number_format:2:".":","}</span>
<span
style="color:green;font-weight:bold">{$item.products.plus|number_format:2:".":","}</span>
</td>
</tr>
</tbody>
@@ -293,12 +301,11 @@
<td>
{if $item.type!='gratis'}
{if $item.fv_switch=='yes'}<img border="0" id="convert_to_invoice_{$item.id}"
src="modules/EcmSales/images/convert_disabled.gif"
title="{$item.fv_name}" style="cursor:pointer;"
src="modules/EcmSales/images/convert_disabled.gif" title="{$item.fv_name}"
style="cursor:pointer;"
onClick="{literal}javascript:window.open('index.php?module=EcmInvoiceOuts&action=DetailView&record={/literal}{$item.fv_id}{literal}','_newtab');{/literal} " />'{/if}
{if $item.fv_switch=='no'}<img border="0" id="convert_to_invoice_{$item.id}"
src="modules/EcmSales/images/convert_enabled.gif"
title="Create Invoice"
src="modules/EcmSales/images/convert_enabled.gif" title="Create Invoice"
onClick="{literal}javascript:window.open('index.php?module=EcmInvoiceOuts&action=EditView&isWZ=true&wz_record={/literal}{$item.fv_id}{literal}','_newtab');{/literal}"
style="cursor:pointer;" />{/if}
{if $item.wz_switch=='disabled'}<img src="modules/EcmSales/images/create_wz_disabled.gif"
@@ -381,14 +388,16 @@
<td></td>
<td></td>
<td>
<span style="color:red;font-weight:bold">{$POSITION_LIST.total_product.minus|number_format:2:".":","}</span>
<span
style="color:red;font-weight:bold">{$POSITION_LIST.total_product.minus|number_format:2:".":","}</span>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<span style="color:green;font-weight:bold">{$POSITION_LIST.total_product.plus|number_format:2:".":","}</span>
<span
style="color:green;font-weight:bold">{$POSITION_LIST.total_product.plus|number_format:2:".":","}</span>
</td>
</tr>
</tbody>