Sheel::find()->where([
'and',
['>=', 'date_execution', $rangeData['firstDay']],
['<', 'date_execution', $rangeData['lastDay']],
]);
public function actionAddress()
{
$company =$_GET['id'];
}
///
/**
* view Company
*/
public function actionCompany()
{
$company =$_GET['company'];
public function actionAddress($company)
foreach ($addreses as $key=>$one){
$addres =$one->address;
};
$res[] = [
'id_sheel'=>$item->id_sheel,
'parent_recipies'=>$item->parent_recipies,
'id_company'=>$item->company->id_company,
'name_company' => $item->company->name_company,
'address' => $item->address,
'recipies' =>
$item->recipies->porous_recipies . " " .
$item->recipies->size_min . " " .
$item->recipies->type_recipies . " " .
$item->recipies->brand_recipies . " " .
"№ " . $item->recipies->number_recipies,
'amount_sheel' => $item->amount_sheel,
'date_execution' => $item->date_execution,
];
->onCondition('address = :name AND date_execution >= :time1 AND date_execution < :time2')
->orderBy('date_execution DESC')
->params([
':name' => $addres,
':time1' => ($firstDay = date("Y-m-d", mktime(0,0,0,$month,1,$year))),
':time2' => date("Y-m-d", mktime(0,0,0,$month+1,1,$year)),
])
->orderBy('date_execution DESC')
/**
* view Month
*/
public function actionMonth()
{
$rangeData = $this->_getDateRange();
return $this->render('month', [
'result' => $this->_getSheel(),
'firstDay' => $rangeData['firstDay'],
]);
}
/**
* view Company
*/
public function actionCompany()
{
$company =$_GET['company']; // с 1 месяца по 12
$rangeData = $this->_getDateRange();
// VarDumper::dump($res);
return $this->render('company', [
// 'materials' => $materials,
'company' => $company,
'result' => $this->_getSheel('parent_company', $company),
'firstDay' => $rangeData['firstDay'],
]);
}
/**
*
* view Address
*/
public function actionAddress()
{
$company =$_GET['id'];
$addreses = Sheel::findAll(['id_sheel' => $company]);
foreach ($addreses as $key=>$one){
$addres = $one->address;
};
$rangeData = $this->_getDateRange();
return $this->render('address', [
'result' => $result,
'firstDay' => $rangeData['firstDay'],
]);
}
/**
* Get date range
*
* @return array
*/
protected function _getDateRange()
{
$month = date('n', $_GET['time']); // с 1 месяца по 12
$year = date('Y', $_GET['time']); // 2011
return [
'firstDay' => date("Y-m-d", mktime(0, 0, 0, $month, 1, $year)),
'lastDay' => date("Y-m-d", mktime(0, 0, 0, $month + 1, 1, $year))
];
}
/**
* Get sheel
*
* @param mixed $name
* @param mixed $value
* @return ArrayDataProvider
*/
protected function _getSheel($name = null, $value = null)
{
$rangeData = $this->_getDateRange();
$params = [
':time1' => $rangeData['firstDay'],
':time2' => $rangeData['lastDay'],
];
$where = 'date_execution >= :time1 AND date_execution < :time2';
if ($name) {
$where .= " AND :$name = :name";
$params[":$name"] = $value;
}
$customers = Sheel::find()
->andWhere($where, $params)
->orderBy('date_execution DESC')
->joinWith('recipies')
->with('company')
->all();
$res = [];
foreach ($customers as &$item) {
$res[] = [
'id_sheel'=>$item->id_sheel,
'parent_recipies'=>$item->parent_recipies,
'id_company'=>$item->company->id_company,
'name_company' => $item->company->name_company,
'address' => $item->address,
'recipies' =>
$item->recipies->porous_recipies . " " .
$item->recipies->size_min . " " .
$item->recipies->type_recipies . " " .
$item->recipies->brand_recipies . " " .
"№ " . $item->recipies->number_recipies,
'amount_sheel' => $item->amount_sheel,
'date_execution' => $item->date_execution,
];
}
return new ArrayDataProvider(['allModels' => $res]);
}
/* Правила роутинга для модулей */
'onBeginRequest' => array('ModuleUrlManager', 'collectRules'),
/**
* Класс менеджер путей модулей
* Активирует urlRules параметр активного модуля
* Работает с многоуровневой вложеностью модулей
* Реализовано кеширование urlRules модулей
*/
class ModuleUrlManager {
static function collectRules() {
if (!empty(Yii::app()->modules)) {
$cache = Yii::app()->getCache();
$route = Yii::app()->getRequest()->getPathInfo();
$patharray = explode('/', $route);
$moduleName = substr($route, 0, strpos($route, '/'));
/* Если роут имеет вид module.html */
if (empty($moduleName)) {
$moduleName = substr($route, 0, strpos($route, '.'));
}
if (Yii::app()->hasModule($moduleName)) {
$urlRules = false;
if ($cache)
$urlRules = $cache->get('module.url.rules.' . $moduleName);
if ($urlRules === false) {
$module = Yii::app()->getModule($moduleName);
if (isset($module->urlRules)) {
$urlRules = $module->urlRules;
if ($cache && !empty($urlRules))
$cache->set('module.url.rules.' . $module->id, $urlRules);
}
}
if (!empty($urlRules))
Yii::app()->getUrlManager()->addRules($urlRules);
if (!empty($patharray)) {
foreach ($patharray as $pathUnit) {
$position = strpos($pathUnit, '.html');
if ($position) {
$pathUnit = substr($pathUnit, 0, $position);
}
$urlRules = false;
if ($cache)
$urlRules = $cache->get('module.url.rules.' . $moduleName . '/' . $pathUnit);
if ($urlRules === false) {
$module = Yii::app()->getModule($moduleName);
if ($module->hasModule($pathUnit)) {
$submodule = $module->getModule($pathUnit);
if (isset($submodule->urlRules)) {
$urlRules = $submodule->urlRules;
if ($cache && !empty($urlRules))
$cache->set('module.url.rules.' . $submodule->id, $urlRules);
}
}
}
if (!empty($urlRules))
Yii::app()->getUrlManager()->addRules($urlRules);
}
}
}
return true;
}
}
}