Stock Addresses on Stock report
This commit is contained in:
@@ -117,6 +117,14 @@ while ( $r = $db->fetchByAssoc ( $rows ) ) {
|
|||||||
$row["quantity"] = $r["quantity"];
|
$row["quantity"] = $r["quantity"];
|
||||||
$row["price"] = $r["price"];
|
$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'
|
$querySubCategory = "SELECT category.name as 'podkategoria'
|
||||||
FROM
|
FROM
|
||||||
ecmproductcategories_bean bean
|
ecmproductcategories_bean bean
|
||||||
@@ -153,7 +161,8 @@ while ( $r = $db->fetchByAssoc ( $rows ) ) {
|
|||||||
foreach ($data as $key => &$element) {
|
foreach ($data as $key => &$element) {
|
||||||
$categoryArray1[$element["kategoria"] == "" ? "Inne" : $element["kategoria"]][$element["podkategoria"] == "" ? "Reszta" : $element["podkategoria"]][$key] = $element;
|
$categoryArray1[$element["kategoria"] == "" ? "Inne" : $element["kategoria"]][$element["podkategoria"] == "" ? "Reszta" : $element["podkategoria"]][$key] = $element;
|
||||||
}
|
}
|
||||||
function cmp($a, $b) {
|
function cmp($a, $b)
|
||||||
|
{
|
||||||
if ($a["name"] == $b["name"]) {
|
if ($a["name"] == $b["name"]) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -180,6 +189,7 @@ foreach ( $categoryArray1 as $key1 => &$element1 ) {
|
|||||||
$tmp2[$key1][$key2][$i]["id"] = $element3["id"];
|
$tmp2[$key1][$key2][$i]["id"] = $element3["id"];
|
||||||
$tmp2[$key1][$key2][$i]["name"] = $element3["name"];
|
$tmp2[$key1][$key2][$i]["name"] = $element3["name"];
|
||||||
$tmp2[$key1][$key2][$i]["code"] = $element3["code"];
|
$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]["quantity"] = $element3["quantity"];
|
||||||
$tmp2[$key1][$key2][$i]["price"] = $element3["price"];
|
$tmp2[$key1][$key2][$i]["price"] = $element3["price"];
|
||||||
}
|
}
|
||||||
@@ -286,5 +296,3 @@ $smarty->assign ('selectKS',$_GET['productKS']);
|
|||||||
$smarty->assign("selectProductActive", $selectProductActive);
|
$smarty->assign("selectProductActive", $selectProductActive);
|
||||||
$smarty->assign("selectProductEol", $selectProductEol);
|
$smarty->assign("selectProductEol", $selectProductEol);
|
||||||
echo $smarty->display('modules/EcmReports/tpls/ReportStocks.tpl');
|
echo $smarty->display('modules/EcmReports/tpls/ReportStocks.tpl');
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
background: #EFEFF1;
|
background: #EFEFF1;
|
||||||
color: #343432;
|
color: #343432;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.tablesorter tbody tr.alt-row td {
|
table.tablesorter tbody tr.alt-row td {
|
||||||
background: #FFF;
|
background: #FFF;
|
||||||
color: #343432;
|
color: #343432;
|
||||||
@@ -58,21 +59,25 @@
|
|||||||
background: #E8E8E8;
|
background: #E8E8E8;
|
||||||
color: #343432;
|
color: #343432;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.tablesorter tbody tr.alt-row:hover td {
|
table.tablesorter tbody tr.alt-row:hover td {
|
||||||
background: #E8E8E8;
|
background: #E8E8E8;
|
||||||
color: #343432;
|
color: #343432;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.tablesorter tbody tr.sumAll td {
|
table.tablesorter tbody tr.sumAll td {
|
||||||
background: #EBEBED;
|
background: #EBEBED;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.tablesorter tbody tr.sumAll:hover td {
|
table.tablesorter tbody tr.sumAll:hover td {
|
||||||
background: #E0E0E2;
|
background: #E0E0E2;
|
||||||
color: black;
|
color: black;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.tablesorter .sumRow, .oddListRowS1 {
|
table.tablesorter .sumRow,
|
||||||
|
.oddListRowS1 {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,7 +107,8 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<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>
|
||||||
<td>
|
<td>
|
||||||
<h2>{$MOD.LBL_REPORT_STOCKS} </h2>
|
<h2>{$MOD.LBL_REPORT_STOCKS} </h2>
|
||||||
@@ -120,7 +126,8 @@
|
|||||||
<form action="index.php" method="get" name="searchReportStocks">
|
<form action="index.php" method="get" name="searchReportStocks">
|
||||||
<input type="hidden" name="module" value="EcmReports" />
|
<input type="hidden" name="module" value="EcmReports" />
|
||||||
<input type="hidden" name="action" value="ReportStocks" />
|
<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>
|
<tr>
|
||||||
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_STOCK}</td>
|
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_STOCK}</td>
|
||||||
@@ -128,7 +135,8 @@
|
|||||||
<select id="stock" name="selectStock">
|
<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}
|
{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}
|
{/foreach}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
@@ -137,7 +145,8 @@
|
|||||||
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_PRODUCT_ACTIVE}</td>
|
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_PRODUCT_ACTIVE}</td>
|
||||||
<td class="dataField" width="10%" nowrap="nowrap">
|
<td class="dataField" width="10%" nowrap="nowrap">
|
||||||
<select id="productActive" name="selectProductActive">
|
<select id="productActive" name="selectProductActive">
|
||||||
<option value="" { if $selectProductActive==""} selected="true" {/if} >{$MOD.LBL_YES}/{$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="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="0" { if $selectProductActive=="0" } selected="true" {/if}>{$MOD.LBL_NO}</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -146,7 +155,8 @@
|
|||||||
<td class="dataLabel" width="5%" nowrap="nowrap">End of line</td>
|
<td class="dataLabel" width="5%" nowrap="nowrap">End of line</td>
|
||||||
<td class="dataField" width="10%" nowrap="nowrap">
|
<td class="dataField" width="10%" nowrap="nowrap">
|
||||||
<select id="productEol" name="selectProductEol">
|
<select id="productEol" name="selectProductEol">
|
||||||
<option value="" { if $selectProductEol==""} selected="true" {/if} >{$MOD.LBL_YES}/{$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="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="0" { if $selectProductEol=="0" } selected="true" {/if}>{$MOD.LBL_NO}</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -179,7 +189,8 @@
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
<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 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 id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
|
||||||
|
|
||||||
|
|
||||||
@@ -190,11 +201,30 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr class="tablesorter-headerRow" role="row">
|
<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="30%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="0"
|
||||||
<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>
|
tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on"
|
||||||
<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>
|
style="-moz-user-select: none;" aria-sort="none"
|
||||||
<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>
|
aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_PRODUCTS}</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="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>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||||
@@ -205,20 +235,26 @@
|
|||||||
<td class="oddListRowS1 alignLeft"><a class="plusStyle showTables">[+]</a><b> {$CATNAME}</b></td>
|
<td class="oddListRowS1 alignLeft"><a class="plusStyle showTables">[+]</a><b> {$CATNAME}</b></td>
|
||||||
{/if}
|
{/if}
|
||||||
<td class="oddListRowS1"></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.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|number_format:2:",":"." }</b></td>
|
||||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.PriceSum/$DATA.$CATNAME.QuantitySum|number_format:2:",":"." }</b></td>
|
<td class="oddListRowS1 sumRow">
|
||||||
|
<b>{$DATA.$CATNAME.PriceSum/$DATA.$CATNAME.QuantitySum|number_format:2:",":"." }</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
||||||
{if $CAT2NAME!="QuantitySum" && $CAT2NAME!="PriceSum"}
|
{if $CAT2NAME!="QuantitySum" && $CAT2NAME!="PriceSum"}
|
||||||
<tbody id="functions-core" class="tablesorter-infoOnly tablesShowHide">
|
<tbody id="functions-core" class="tablesorter-infoOnly tablesShowHide">
|
||||||
<tr class="subcategory">
|
<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 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"></td>
|
||||||
<td class="oddListRowS1 sumRow"><b>{$CAT.$CAT2NAME.QuantitySum2|number_format:4:",":"." }</b></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|number_format:2:",":"." }</b></td>
|
||||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.PriceSum2/$CAT.$CAT2NAME.QuantitySum2|number_format:2:",":"." }</b></td>
|
<td class="oddListRowS1 sumRow">
|
||||||
|
<b>{$CAT.$CAT2NAME.PriceSum2/$CAT.$CAT2NAME.QuantitySum2|number_format:2:",":"." }</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
@@ -232,11 +268,13 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<td class="oddListRowS1 alignLeft" style="text-align:left;">
|
<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}
|
{$ROW.name}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="oddListRowS1 alignLeft">{$ROW.code}</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.quantity|number_format:4:",":"."}</td>
|
||||||
<td class="oddListRowS1">{$ROW.price|number_format:2:",":"."}</td>
|
<td class="oddListRowS1">{$ROW.price|number_format:2:",":"."}</td>
|
||||||
<td class="oddListRowS1">{$ROW.price/$ROW.quantity|number_format:2:",":"."}</td>
|
<td class="oddListRowS1">{$ROW.price/$ROW.quantity|number_format:2:",":"."}</td>
|
||||||
@@ -253,9 +291,11 @@
|
|||||||
<tr class="static category sumAll">
|
<tr class="static category sumAll">
|
||||||
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||||
<td class="oddListRowS1"></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.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|number_format:2:",":"." }</b></td>
|
||||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.PriceSumSum/$SUM.QuantitySumSum|number_format:2:",":"." }</b></td>
|
<td class="oddListRowS1 sumRow"><b>{$SUM.PriceSumSum/$SUM.QuantitySumSum|number_format:2:",":"." }</b>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Reference in New Issue
Block a user