86 lines
2.9 KiB
PHP
86 lines
2.9 KiB
PHP
<?php
|
|
|
|
use KupShop\CheckAppBundle\Admin\Util\AssetsLoader;
|
|
use KupShop\KupShopBundle\Query\JsonOperator;
|
|
use Query\Operator;
|
|
|
|
class StockInCheck extends \Window
|
|
{
|
|
protected $template = 'window/stockInCheck.tpl';
|
|
|
|
protected function getObject()
|
|
{
|
|
return [];
|
|
}
|
|
|
|
public function get_vars()
|
|
{
|
|
$id = $this->getID();
|
|
|
|
if (strpos($id, '_') !== false) {
|
|
$ids = explode('_', $id);
|
|
} else {
|
|
$ids = [$id];
|
|
}
|
|
|
|
if (getVal('submitted')) {
|
|
$submittedStockIn = sqlQueryBuilder()
|
|
->select('si.*, s.name as supplier_name')
|
|
->from('stock_in', 'si')
|
|
->leftJoin('si', 'suppliers', 's', 'si.id_supplier = s.id')
|
|
->where(Operator::inStringArray($ids, 'si.id'))
|
|
->execute()
|
|
->fetchAll();
|
|
|
|
$error = 'Naskladněním byla přidělena následující čísla: <br />';
|
|
|
|
foreach ($submittedStockIn as $stockIn) {
|
|
$error .= "<strong>{$stockIn['supplier_name']}</strong> (<a href=\"javascript:nw('stockIn', {$stockIn['id']} )\"> {$stockIn['code']} </a>) :<strong>{$stockIn['number']}</strong><br />";
|
|
}
|
|
|
|
$futureStockIn = sqlQueryBuilder()
|
|
->select('si.*, s.name as supplier_name')
|
|
->from('stock_in', 'si')
|
|
->leftJoin('si', 'suppliers', 's', 'si.id_supplier = s.id')
|
|
->where(Operator::equals(['id_index' => 'future']))
|
|
->andWhere(Operator::inIntArray($ids, JsonOperator::value('si.data', 'parent_stock_in')))
|
|
->execute()->fetchAllAssociative();
|
|
|
|
if ($futureStockIn) {
|
|
$error .= '<br /><br />Byla vytvořena následující budoucí naskladnění: <br />';
|
|
|
|
foreach ($futureStockIn as $stockIn) {
|
|
$error .= "<strong>{$stockIn['supplier_name']}</strong> (<a href=\"javascript:nw('stockIn', {$stockIn['id']} )\"> {$stockIn['code']} </a>)<br />";
|
|
}
|
|
}
|
|
|
|
$this->addHTMLError($error);
|
|
}
|
|
|
|
$vars = parent::get_vars();
|
|
|
|
$vars['body']['submitted'] = getVal('submitted');
|
|
$vars['body']['data'] = sqlQueryBuilder()
|
|
->select('GROUP_CONCAT(si.code separator ", ") as code, GROUP_CONCAT(si.id separator "_") as id,
|
|
GROUP_CONCAT(s.name separator ", ") as name')
|
|
->from('stock_in', 'si')
|
|
->leftJoin('si', 'suppliers', 's', 's.id=si.id_supplier')
|
|
->where(Operator::inIntArray($ids, 'si.id'))
|
|
->groupBy('si.id_index')
|
|
->execute()
|
|
->fetch();
|
|
|
|
$vars['assets'] = AssetsLoader::getAssets();
|
|
|
|
$vars['config'] = [
|
|
'privileges' => [
|
|
'check_all_button' => findRight('WAR_CHECK_STOCK_IN_CHECK_ALL'),
|
|
],
|
|
];
|
|
|
|
return $vars;
|
|
}
|
|
}
|
|
|
|
return 'StockInCheck';
|