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:
';
foreach ($submittedStockIn as $stockIn) {
$error .= "{$stockIn['supplier_name']} ( {$stockIn['code']} ) :{$stockIn['number']}
";
}
$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 .= '
Byla vytvořena následující budoucí naskladnění:
';
foreach ($futureStockIn as $stockIn) {
$error .= "{$stockIn['supplier_name']} ( {$stockIn['code']} )
";
}
}
$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';