where() public method

The method requires a $condition parameter, and optionally a $params parameter specifying the values to be bound to the query. The $condition parameter should be either a string (e.g. 'id=1') or an array.
See also: andWhere()
See also: orWhere()
See also: QueryInterface::where()
public where ( string | array | yii\db\Expression $condition, array $params = [] )
$condition string | array | yii\db\Expression the conditions that should be put in the WHERE part.
$params array the parameters (name => value) to be bound to the query.
Example #1
0
 /**
  * Lists all Job models.
  * @return mixed
  */
 public function actionIndex()
 {
     $model = new Job();
     // This is used to search/filter organizations
     $dataProvider = null;
     if (isset($_GET['user_id'])) {
         $user_id = $_GET['user_id'];
         if ($user_id !== null) {
             $query = new Query();
             $query->from(Job::tableName());
             $query->where(['user_id' => $user_id]);
             $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 5]]);
         }
     } else {
         $dataProvider = new ActiveDataProvider(['query' => Job::find(), 'pagination' => ['pageSize' => 5]]);
     }
     if ($model->load(Yii::$app->request->post())) {
         $query = new Query();
         $query->from(Job::tableName());
         if (!is_null($model->employment_type) && is_array($model->employment_type)) {
             $query->where(['employment_type' => array_map('intval', $model->employment_type)]);
         }
         if (!is_null($model->job_type) && is_array($model->job_type)) {
             $query->where(['job_type' => array_map('intval', $model->job_type)]);
         }
         if (!is_null($model->work_domain) && is_array($model->work_domain)) {
             $query->andWhere(['work_domain' => array_map('intval', $model->work_domain)]);
         }
         if (isset($_GET['user_id'])) {
             $query->andWhere(['user_id' => $_GET['user_id']]);
         }
         $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 5]]);
     }
     return $this->render('index', ['model' => $model, 'dataProvider' => $dataProvider]);
 }
Example #2
0
 /**
  * Prepare the DB query
  *
  * @return $this
  */
 public function prepare()
 {
     // Throw a exception if a required parameter is not defined
     $this->verifyRequiredParameters();
     // Build the query
     $this->query = new Query();
     $this->query->select('*');
     $this->query->from($this->getTableName());
     $this->query->where('app_id=:appId', [':appId' => $this->appId]);
     return $this;
 }
 public function retrieve($className, $primaryKey)
 {
     $tableName = call_user_func([$className, "tableName"]);
     $current = $className::find()->where(['id' => $primaryKey])->asArray()->one();
     $query = new Query();
     $query->select(['field_name', 'old_value', 'event', 'action_uuid', 'created_at']);
     $query->from($this->tableName);
     $query->where(['field_id' => $primaryKey, 'table_name' => $tableName]);
     $query->orderBy(['created_at' => SORT_ASC]);
     $changes = [];
     foreach ($query->all() as $element) {
         $uuid = $element['action_uuid'];
         if (!isset($changes[$uuid])) {
             $changes[$uuid] = $current;
         }
         $changes[$uuid][$element['field_name']] = $element['old_value'];
         $current = $changes[$uuid];
     }
     $models = array_map(function ($element) use($className) {
         $model = $className::instantiate($element);
         $className::populateRecord($model, $element);
         return $model;
     }, $changes);
     return new ArrayDataProvider(['allModels' => array_values($models)]);
 }
Example #4
0
 public function actionIndex($date = null)
 {
     //    $apteki=LogReestr::find()->where(['resstr' => 'apteki'])->all();
     if (!$date) {
         $date = date('Y-m');
     }
     $db = new Query();
     $db->from(LogReestr::tableName());
     $db->select(['log_reestr.created_at', 'log_reestr.address', 'log_reestr.resstr', 'log_reestr.id_resstr', 'log_reestr.action', 'log_reestr.name', 'log_reestr.ur_l_id', 'log_reestr.id_resstr', 'log_reestr.change', 'users.username', 'log_reestr.id_resstr']);
     $db->where(['=', 'resstr', 'apteki']);
     $db->leftJoin('users', "users.id = log_reestr.user");
     $db->orderBy('log_reestr.created_at DESC');
     $date_search = $date . '%';
     $db->andWhere(['like', 'log_reestr.created_at', $date_search, false]);
     $apteki = $db->all();
     //   $apteki_count = $db->count();
     $db = new Query();
     $db->from(LogReestr::tableName());
     $db->select(['log_reestr.created_at', 'log_reestr.address', 'log_reestr.resstr', 'log_reestr.id_resstr', 'log_reestr.name', 'log_reestr.action', 'log_reestr.change', 'users.username', 'log_reestr.id_resstr']);
     $db->where(['=', 'resstr', 'ur_l']);
     $db->leftJoin('users', "users.id = log_reestr.user");
     $db->andWhere(['like', 'log_reestr.created_at', $date_search, false]);
     $db->orderBy('log_reestr.created_at DESC');
     $ur_l = $db->all();
     // $ur_l_count = $db->count();
     $statm = \Yii::$app->db->createCommand("SELECT   users.username ,  COUNT(*) as count FROM  log_reestr  INNER JOIN users  ON users.id=log_reestr.user\n    where log_reestr.created_at like '" . $date . "%'\n        GROUP BY USER order by count DESC");
     $stat = $statm->queryAll();
     $statAllm = \Yii::$app->db->createCommand("SELECT COUNT(*) as count FROM  log_reestr\n    where log_reestr.created_at like '" . $date . "%'       ");
     $statAll = $statAllm->queryOne();
     return $this->render('index', ['apteki' => $apteki, 'ur_l' => $ur_l, 'date' => $date, 'stat' => $stat, 'statAll' => $statAll]);
 }
 /**
  * 
  */
 public function getAll($where = null, $params = null)
 {
     $query = new Query();
     $query->select('*')->from('forum_post');
     if ($where != null) {
         if (is_string($where)) {
             $query->where($where);
         } else {
             throw new Exception('Erreur : la clause Where doit être une chaîne de caractères');
         }
     }
     if ($params != null) {
         foreach ($params as $k => $v) {
             if ($k == 'orderBy') {
                 $query->orderBy = $v;
             }
             if ($k == 'limit') {
                 $query->limit = intval($v);
             }
             if ($k == 'offset') {
                 $query->offset = intval($v);
             }
         }
     }
     //var_dump($query);
     $items = $query->all();
     return $items;
 }
Example #6
0
 public function GetItem($id = 0)
 {
     $query = new Query();
     $query->from($this->table);
     $query->where(["id" => $id]);
     $result = $query->one();
     return $result;
 }
Example #7
0
File: Lists.php Project: pumi11/aau
 public static function getApteki($id)
 {
     $db = new Query();
     //$db->select('id','name');
     $db->where(['=', 'ur_l_id', $id]);
     $db->from('apteki');
     return $db->all();
 }
Example #8
0
 public function getQuiz($id)
 {
     $query = new Query();
     $query->select('quiz_questions.id as qid,quiz_questions.*,questions_answers.*')->from('quiz_questions');
     $query->join('join', 'questions_answers', 'quiz_questions.id=question_id');
     $query->where('quiz_questions.quiz_id=' . $id);
     return $this->_group_by($query->all(), 'qid');
 }
Example #9
0
 public function actionIndex()
 {
     $request = Yii::$app->request;
     $menuId = 31;
     $theadArray = QueryField::find()->where(['menuId' => $menuId])->asArray()->with('queryTable')->all();
     $tables = QueryTable::find()->where(['menuId' => $menuId])->asArray()->all();
     $masterTable = $this->getMasterTable($tables);
     if (!$masterTable) {
         $NullPages = new Pagination(['pageParam' => 'pageCurrent', 'pageSizeParam' => 'pageSize', 'totalCount' => 0, 'defaultPageSize' => 20]);
         return $this->render('index', ['models' => [], 'pages' => $NullPages, 'theadArray' => []]);
     }
     $query = new Query();
     $query->from($masterTable['tabName']);
     $query->select($masterTable['tabName'] . '.' . 'id');
     foreach ($tables as $table) {
         if ($table['isMain'] != '1') {
             $query->leftJoin($table['tabName'], $table['condition']);
         }
     }
     //排序字段
     $attributes = [];
     //查询条件
     $where = [];
     foreach ($theadArray as $thead) {
         if ($thead['queryTable']['reName']) {
             $addSelect = $thead['queryTable']['reName'];
         } else {
             $addSelect = $thead['queryTable']['tabName'];
         }
         $addSelect = $addSelect . '.' . $thead['fieldName'];
         if ($thead['makeTbName'] != 1) {
             $addSelect = $thead['fieldName'];
         }
         if ($thead['reName']) {
             //组装排序字段
             array_push($attributes, $thead['reName']);
             //查询字段
             $addSelect = $addSelect . ' ' . 'as' . ' ' . $thead['reName'];
         } else {
             array_push($attributes, $thead['fieldName']);
         }
         $query->addSelect($addSelect);
         //组装查询条件
         if ($thead['isQuery'] == '1' && $thead['reName']) {
             $where[$thead['reName']] = $request->get($thead['reName']);
         } elseif ($thead['isQuery'] == '1') {
             $where[$thead['fieldName']] = $request->get($thead['fieldName']);
         }
     }
     $query->where($where);
     $pages = new Pagination(['pageParam' => 'pageCurrent', 'pageSizeParam' => 'pageSize', 'defaultPageSize' => 20]);
     $sort = new WetSort(['attributes' => $attributes]);
     $provider = new ActiveDataProvider(['query' => $query, 'pagination' => $pages, 'sort' => $sort]);
     $models = $provider->getModels();
     return $this->render('index', ['models' => $models, 'pages' => $pages, 'theadArray' => $theadArray]);
 }
Example #10
0
 public function getPermissionsByRole($role)
 {
     $query = new Query();
     $query->select(['p.id', 'p.category', 'p.name', 'p.description', 'p.form', 'p.default_value', 'p.rule', 'p.sort_num', 'r.role', 'r.value']);
     $query->from(['p' => $this->permissionTable, 'r' => $this->relationTable]);
     $query->where('r.permission=p.id');
     $query->andWhere(['r.role' => $role]);
     $rows = $query->all();
     return $this->convertPermissionValue($rows);
 }
Example #11
0
 /**
  * Возвращает кол-во элементов
  * @param array $where
  * @return int
  */
 public function GetCountItems($where = [])
 {
     $query = new Query();
     $query->select("id");
     $query->from($this->table);
     if ($where) {
         $query->where($where);
     }
     $result = $query->all();
     return count($result);
 }
Example #12
0
 /**
  * @param array $filters
  * @param string $select
  * @return Query
  */
 private function getWhere($filters = [], $select = '*')
 {
     $query = new Query();
     $query->select($select)->from(static::tableName());
     if (isset($filters['M08_HAN_CD']) && $filters['M08_HAN_CD']) {
         $query->where('M08_HAN_CD=:han_cd', [':han_cd' => $filters['M08_HAN_CD']]);
     }
     if (isset($filters['M08_SS_CD']) && $filters['M08_SS_CD']) {
         $query->where('M08_SS_CD=:ss_cd', [':ss_cd' => $filters['M08_SS_CD']]);
     }
     if (isset($filters['M08_JYUG_CD']) && $filters['M08_JYUG_CD']) {
         $query->where('M08_JYUG_CD=:jy_cd', [':jy_cd' => $filters['M08_JYUG_CD']]);
     }
     if (isset($filters['offset']) && $filters['offset']) {
         $query->offset($filters['offset']);
     }
     if (isset($filters['limit']) && $filters['limit']) {
         $query->limit($filters['limit']);
     }
     return $query;
 }
Example #13
0
 public function actionEdit($id)
 {
     if (Yii::$app->request->post()) {
         Ot::Update($id);
     }
     $apteka = Ur::find()->where(['id' => $id])->one();
     $regionId = Ur::getRegionId($id);
     $db = new Query();
     $db->from('preparats');
     $db->where(['is_active' => 1, 'region_id' => $regionId]);
     $preparats = $db->all();
     return $this->render('edit', ['preparats' => $preparats, 'id_apteka' => $id, 'apteka' => $apteka]);
 }
Example #14
0
 public function testWhere()
 {
     $query = new Query();
     $query->where('id = :id', [':id' => 1]);
     $this->assertEquals('id = :id', $query->where);
     $this->assertEquals([':id' => 1], $query->params);
     $query->andWhere('name = :name', [':name' => 'something']);
     $this->assertEquals(['and', 'id = :id', 'name = :name'], $query->where);
     $this->assertEquals([':id' => 1, ':name' => 'something'], $query->params);
     $query->orWhere('age = :age', [':age' => '30']);
     $this->assertEquals(['or', ['and', 'id = :id', 'name = :name'], 'age = :age'], $query->where);
     $this->assertEquals([':id' => 1, ':name' => 'something', ':age' => '30'], $query->params);
 }
Example #15
0
File: Ur.php Project: pumi11/aau
 public static function getRegionId($id)
 {
     $db = new Query();
     $db->from('ur_l');
     $db->select('region.id');
     $db->InnerJoin('region_ur_l', 'region_ur_l.id_ur = ur_l.id');
     $db->InnerJoin('region', 'region_ur_l.id_reg = region.id');
     $db->where(['=', 'ur_l.id', $id]);
     $data = $db->all();
     foreach ($data as $rid) {
         $data2[] = $rid[id];
     }
     return $data2;
 }
 public static function getSalesData($duration)
 {
     $dates = [];
     $transactions = [];
     $transactionskv = [];
     $amount = [];
     $statusPaid = [Order::STATUS_PAID, Order::STATUS_DELIVERED];
     $statusPaid = join(",", $statusPaid);
     $orderTable = CartTables::TABLE_ORDER;
     $txnTable = CartTables::TABLE_ORDER_TRANSACTION;
     $query = new Query();
     $query->select(["date(`{$txnTable}`.`createdAt`) as date", 'sum( amount ) as amount']);
     $query->from($txnTable);
     $query->join('LEFT JOIN', $orderTable, "orderId = `{$orderTable}`.`id`");
     $query->where(" {$orderTable}.status in ( {$statusPaid} )");
     switch ($duration) {
         case 0:
             // Current Week - Starting with Sun
             $dates = DateUtil::getCurrentWeekDates();
             $transactions = $query->andWhere("YEARWEEK( `{$txnTable}`.`createdAt` ) = YEARWEEK( CURRENT_DATE ) ")->groupBy(['date'])->all();
             break;
         case 1:
             // Last Week - Starting with Sun
             $dates = DateUtil::getLastWeekDates();
             $transactions = $query->andWhere("YEARWEEK( `{$txnTable}`.`createdAt` ) = YEARWEEK( CURRENT_DATE - INTERVAL 7 DAY ) ")->groupBy(['date'])->all();
             break;
         case 2:
             // This Month
             $dates = DateUtil::getCurrentMonthDates();
             $transactions = $query->andWhere("MONTH( `{$txnTable}`.`createdAt` ) = ( MONTH( NOW() ) ) AND YEAR( `{$txnTable}`.`createdAt` ) = YEAR( NOW() ) ")->groupBy(['date'])->all();
             break;
         case 3:
             // Last Month
             $dates = DateUtil::getLastMonthDates();
             $transactions = $query->andWhere("MONTH( `{$txnTable}`.`createdAt` ) = ( MONTH( NOW() ) - 1 ) AND YEAR( `{$txnTable}`.`createdAt` ) = YEAR( NOW() ) ")->groupBy(['date'])->all();
             break;
     }
     foreach ($transactions as $transaction) {
         $transactionskv[$transaction['date']] = $transaction['amount'];
     }
     foreach ($dates as $date) {
         if (isset($transactionskv[$date])) {
             $amount[] = $transactionskv[$date];
         } else {
             $amount[] = 0;
         }
     }
     return $amount;
 }
Example #17
0
 public function actionPosts()
 {
     $query = new Query();
     $query->select('e.id, title, content, e.created_at, u.username, u.avatar')->from('{{%home_post}} as e')->join('LEFT JOIN', '{{%user}} as u', 'u.id=e.user_id')->where('e.explore_status=1')->orderBy('e.id DESC');
     //按标签查询出文章
     if (Yii::$app->request->isGet) {
         $tag = Yii::$app->request->get('tag');
         $query->where('tags LIKE :tag', [':tag' => '%' . $tag . '%'])->andWhere('explore_status=1');
     }
     $posts = Yii::$app->tools->Pagination($query, 10);
     //标签列表
     $query = new TaggingQuery();
     $tags = $query->select('tags')->from('{{%home_post}}')->where('explore_status=1')->limit(10)->displaySort(['freq' => SORT_DESC])->getTags();
     return $this->render('posts', ['posts' => $posts, 'tags' => $tags]);
 }
 /**
  * @param int $limit
  *
  * @param null $version
  *
  * @return array
  */
 protected function getMigrationHistory($limit, $version = null)
 {
     if ($this->db->schema->getTableSchema($this->migrationTable, true) === null) {
         $this->createMigrationHistoryTable();
     }
     $query = new Query();
     $query->select(['version', 'apply_time'])->from($this->migrationTable)->orderBy('version DESC')->limit($limit);
     if ($version) {
         $query->where(['app_version' => $version]);
     }
     $rows = $query->createCommand($this->db)->queryAll();
     $history = ArrayHelper::map($rows, 'version', 'apply_time');
     unset($history[self::BASE_MIGRATION]);
     return $history;
 }
 /**
  * Récupère toutes les category
  * @param Array $params : orderBY, limit etc.
  */
 public function getAll($where = null, $params = null)
 {
     $query = new Query();
     $query->select('*')->from('forum_category');
     //var_dump($where);
     if ($where != null) {
         if (is_string($where)) {
             $query->where($where);
         } else {
             throw new Exception('Erreur : la clause Where doit être une chaîne de caractères');
         }
     }
     $items = $query->all();
     return $items;
 }
Example #20
0
 /**
  * Lists all Order models.
  * @return mixed
  */
 public function actionIndex()
 {
     $productIdes = [];
     $sum = 0;
     /* @var Order $orders */
     $orders = Order::find()->where(['user_id' => Yii::$app->user->id, 'status' => Order::STATUS_START])->one();
     if (!empty($orders)) {
         $productIdes = unserialize($orders->orders_details);
         $sum = $orders->sum;
     }
     $products = new Query();
     $products->select('id ,name')->from('product');
     $products->where(['id' => $productIdes]);
     $dataProvider = new ActiveDataProvider(['query' => $products]);
     return $this->render('index', ['dataProvider' => $dataProvider, 'sum' => $sum]);
 }
 public function actionProfile($id)
 {
     $model = $this->findModel($id);
     if ($model === null) {
         throw new NotFoundHttpException('The requested page does not exist.');
     } else {
         if (Yii::$app->user->id === $model->id) {
             $profileModel = UserProfile::findOne(['user_id' => Yii::$app->user->id]);
             if (is_null($profileModel)) {
                 $profileModel = new UserProfile();
             }
             $workModel = new UserWorkExperience();
             $query = new Query();
             $query->from(UserWorkExperience::tableName());
             $query->where(['user_id' => $id]);
             $userWorkDataProvider = new ActiveDataProvider(['query' => $query]);
             $educationModel = new UserEducation();
             $query = new Query();
             $query->from(UserEducation::tableName());
             $query->where(['user_id' => $id]);
             $educationDataProvider = new ActiveDataProvider(['query' => $query]);
             $addressModel = new UserAddress();
             $query = new Query();
             $query->from(UserAddress::tableName());
             $query->where(['user_id' => $id]);
             $addressDataProvider = new ActiveDataProvider(['query' => $query]);
             if ($profileModel->load(Yii::$app->request->post()) && $profileModel->beforeSave(true) && $profileModel->save()) {
             }
             if ($workModel->load(Yii::$app->request->post()) && ($workModel->user_id = $model->id) && $workModel->beforeSave(true) && $workModel->save()) {
                 $workModel = new UserWorkExperience();
             }
             if ($educationModel->load(Yii::$app->request->post()) && ($educationModel->user_id = $model->id) && $educationModel->beforeSave(true) && $educationModel->save()) {
                 $educationModel = new UserEducation();
             }
             if ($addressModel->load(Yii::$app->request->post()) && ($addressModel->user_id = $model->id) && $addressModel->beforeSave(true) && $addressModel->save()) {
                 $addressModel = new UserAddress();
             }
             return $this->render('profile', ['model' => $model, 'profileModel' => $profileModel, 'workModel' => $workModel, 'workDataProvider' => $userWorkDataProvider, 'educationModel' => $educationModel, 'educationDataProvider' => $educationDataProvider, 'addressModel' => $addressModel, 'addressDataProvider' => $addressDataProvider]);
         } else {
             throw new NotFoundHttpException('Access Denied. You need to be owner to perform this operation.');
         }
     }
 }
Example #22
0
 /**
  * Универсальный поиск по любому полю
  * @param string $search
  * @param string $value
  * @param string $colAlias
  * @return Json
  * */
 public function actionSelect2List($search = '', $value = '', $colAlias = 'title')
 {
     /** @var Role $model * */
     $model = Role::className();
     /** @var Role $modelObject * */
     $table = 'auth_item';
     $alias = $colAlias;
     $out = ['more' => false];
     if (!is_null($search)) {
         $query = new Query();
         $query->select('DISTINCT(' . $alias . ') AS id, ' . $alias . ' AS text')->from($table);
         $query->where($alias . ' LIKE "%' . $search . '%"')->andWhere(['type' => 1])->limit(20);
         $command = $query->createCommand();
         $data = $command->queryAll();
         $out['results'] = array_values($data);
     } elseif ($value > 0) {
         $out['results'] = ['id' => $value, 'text' => $model::find($value)->{$colAlias}];
     }
     return Json::encode($out);
 }
Example #23
0
 /**
  * 获得一个按组分类的数据 
  */
 public static function findGroupString($date, $topType, $params, $groupstring, $tableselect)
 {
     if (empty($date)) {
         $date = date("Y-m-d 00:00:00");
     }
     $start_date = date('Y-m-d 00:00:00', strtotime($date));
     $end_date = date('Y-m-d 00:00:00', strtotime('+1 day', strtotime($start_date)));
     $query = new Query();
     $query->where("CheckTime>=:sT AND CheckTime<=:eT", [':sT' => $start_date, ':eT' => $end_date]);
     switch ($tableselect) {
         case self::AccessStatistic17:
             $query = $query->from('AccessStatistic17');
             break;
         case self::AccessStatistic21:
             $query = $query->from('AccessStatistic21');
             break;
         default:
             $query = $query->from('AccessStatistic17');
     }
     return $query->select("{$groupstring},sum(Amount) totalNum")->andwhere($topType, $params)->groupBy($groupstring)->all(\Yii::$app->db1);
 }
Example #24
0
 private function getWhere($filters = [], $select = '*')
 {
     $query = new Query();
     $query->select($select)->from(static::tableName());
     //$query->where('status=:status', [':status' => $status]);
     if (isset($filters['D01_KAIIN_CD']) && $filters['D01_KAIIN_CD']) {
         $query->andwhere('D01_KAIIN_CD = ' . $filters['D01_KAIIN_CD']);
     }
     if (isset($filters['D01_CUST_NO']) && $filters['D01_CUST_NO']) {
         $query->andwhere('D01_CUST_NO = ' . $filters['D01_CUST_NO']);
     }
     if (isset($filters['D01_KAKE_CARD_NO']) && $filters['D01_KAKE_CARD_NO']) {
         $query->where(['D01_KAKE_CARD_NO' => $filters['D01_KAKE_CARD_NO']]);
     }
     if (isset($filters['offset']) && $filters['offset']) {
         $query->offset($filters['offset']);
     }
     if (isset($filters['limit']) && $filters['limit']) {
         $query->limit($filters['limit']);
     }
     return $query;
 }
Example #25
0
 public function findAllBooks($selectedAuthors = '', $date_create_book = '', $date_create = '', $nameBook = '')
 {
     $query = new Query();
     $query->select(['b.id', 'b.name', 'b.date_create', 'b.date_create_book', 'b.preview', "CONCAT(a.firstname,' ',a.lastname) as authors"])->from(['b' => 'books'])->innerJoin('authors AS a', 'b.author_id = a.id');
     /*$query =Yii::$app->db->createCommand("SELECT
           b.id,
           b.name,
           b.date_create,
           b.date_create_book,
           b.preview,
           CONCAT(a.firstname,' ',a.lastname) as authors
       FROM books b INNER JOIN authors a
       ON b.author_id = a.id
       WHERE b.name = '".$nameBook."'
       AND b.date_create = '".$beforeDateBook."'
       AND b.date_create_book = '".$fromDateBook."'
       AND a.id = '".$selectedAuthors."'
       ");*/
     if (!empty($selectedAuthors) || !empty($fromDateBook) || !empty($nameBook) || !empty($beforeDateBook)) {
         $query->where(['search' => 1]);
     }
     if (!empty($selectedAuthors)) {
         $query->andWhere(['a.id' => $selectedAuthors]);
     }
     if (!empty($nameBook)) {
         $query->andWhere(['like', 'b.name', $nameBook]);
     }
     if (!empty($date_create)) {
         $query->andWhere('b.date_create>=' . $date_create);
     }
     if (!empty($date_create_book)) {
         $query->andWhere(['b.date_create_book' => $date_create_book]);
     }
     $rows = $query->all();
     return $rows;
 }
Example #26
0
 public static function getList($page = 1, $rows = 10, $condition = '', $conditionParams = [])
 {
     $return = [];
     $query = new Query();
     $query->select('COUNT(1)');
     $query->from(self::tableName() . ' t0');
     $query->where($condition, $conditionParams);
     $result['total'] = $query->scalar();
     $query->select(['t0.id', 't0.username', 't0.email', 't1.firstname', 't1.lastname']);
     $query->join('LEFT JOIN', 'user_profile t1', 't0.id = t1.user_id');
     $query->offset($page * $rows - $rows);
     $query->limit($rows);
     $result['rows'] = $query->All();
     foreach ($result['rows'] as $k => $v) {
         $myRoles = Yii::$app->authManager->getRolesByUser($v['id']);
         if (count($myRoles)) {
             foreach ($myRoles as $kk => $vv) {
                 $result['rows'][$k]['role'] = $kk;
                 break;
             }
         }
     }
     return $result;
 }
Example #27
0
 public function canExecute($user, $permission, $validate = null)
 {
     $query = new Query();
     $query->select(['r.permission', 'r.value', 'p.form']);
     $query->from([$this->relationTable . ' as r', $this->permissionTable . ' as p', $this->assignmentTable . ' as a']);
     $query->where('r.permission=p.key and r.role=a.role');
     $query->andWhere(['a.user' => $user, 'r.permission' => $permission]);
     $rows = $query->all();
     if ($rows === null) {
         return false;
     }
     if ($validate === null) {
         $validate = function ($p, $v) {
             if (is_bool($v)) {
                 return $v;
             }
         };
     }
     $ret = true;
     foreach ($rows as $row) {
         $form = intval($row['form']);
         $v = $row['value'];
         if ($form === Permission::Form_Boolean) {
             if ($v === '1' || $v === 'true') {
                 $v = true;
             } else {
                 $v = false;
             }
         } else {
             if ($form === Permission::Form_CheckboxList) {
                 $v = explode(',', $v);
             }
         }
         $ret = $ret && call_user_func($validate, $row['permission'], $v);
         //$ret[$row['permission']]=$v;
     }
     return $ret;
 }
 /**
  * start de dialog om een contract aan te bieden
  **/
 public function actionDialogContr()
 {
     $id = ArrayHelper::getValue($_POST, 'id');
     $calenderevent = CalendarEvents::findOne(['id' => $id]);
     $start = substr($calenderevent->start, 0, 10);
     //Zie of er op die dag all contracten die zijn geaccepteerd.
     //
     $query = new Query();
     $query->from('calendar_events');
     $query->where(['start' => substr($calenderevent->start, 0, 10), 'user_id' => $calenderevent->user_id]);
     $query->andWhere(['like', 'code_title', 'Accep']);
     if ($query->count() > 0) {
         return $this->renderAjax('_dialogContrbezet', ['calenderevent' => $calenderevent]);
     }
     $usercv = UserCv::findOne(['user_id' => $calenderevent->user_id]);
     $user = User::findOne(['id' => $calenderevent->user_id]);
     $contractdeal = new ContractDeals();
     $company = Company::findOne(['id' => $user->company_id]);
     $usercontactperson = Gebruikers::findOne(['id' => $calenderevent->user_id]);
     return $this->renderAjax('_dialogContr', ['calenderevent' => $calenderevent, 'company' => $company, 'usercv' => $usercv, 'contractdeal' => $contractdeal, 'user' => $user]);
 }
Example #29
0
 public function setLangBegin()
 {
     if (!$this->langBegin) {
         $key = static::className() . 'langBegin';
         $this->langBegin = $this->cache->get($key);
         if ($this->langBegin === false) {
             $query = new Query();
             $query->select(['c' => $this->codeField])->from($this->table);
             if ($this->condition) {
                 $query->where($this->condition);
             }
             if ($this->orderBy) {
                 $query->orderBy($this->orderBy);
             }
             $this->langBegin = ArrayHelper::getColumn($query->all($this->getDb()), 'c');
         }
         if ($this->enableCaching) {
             if ($this->durationCaching !== null) {
                 $this->cache->set($key, $this->langBegin, $this->durationCaching);
             } else {
                 $query = new Query();
                 $sql = $query->select('COUNT(*),MAX(' . $this->updatedAtField . ')')->from($this->table)->createCommand($this->getDb())->getRawSql();
                 $this->cache->set($key, $this->langBegin, $this->durationCaching, new \yii\caching\DbDependency(['sql' => $sql]));
             }
         }
     }
 }
Example #30
0
 public static function generateTablePdf($id)
 {
     $mains = ValidationMain::find()->orderBy('npp')->all();
     $html1 = "";
     $html1 .= "\n<style>\nbody{\n\n \n   font-size: 16px;\n   font-family: 'open', sans-serif;\n\n\n    \n\n}\n\nspan{\nfont-size: 17px;\nfont-family: 'roboto', sans-serif;\n}\n\ntd{\nbackground-color:#fff;\nfont-size: 14px;\nfont-family: 'open', sans-serif;\n\n}\n.main td{\nbackground-color:#64b5f6;\nfont-size: 15px;\nfont-family: 'roboto', sans-serif;\n}\n.main2 td{\nbackground-color:#87cefa;\n}\n.header{\nline-height:30px;\n}\nh1,h2,h3,h4{\nfont-family: 'roboto', sans-serif;\n  color: #c62828;\n\n\n}\n\n</style>\n\n<body>\n<div id=\"background\">\n<div align='center'><img src=\"http://sojuzpharma.ru/images/logo_04.jpg\"></div><br>";
     $table = "";
     $priceAll = 0;
     // $table.= "<pagebreak />";
     foreach ($mains as $main) {
         $params = ValidationParams::find()->where(['validation_main_id' => $main['id']])->all();
         $table2 = '';
         foreach ($params as $param) {
             $err = null;
             //$violations = Validationviolation::find()->where(['validation_params_id' => $param['id']])->all();
             $query = new Query();
             $query->select('validation_violation.name,validation_violation.price');
             $query->InnerJoin('validation_report_violation', 'validation_report_violation.`violation_id`=validation_violation.id');
             $query->where(['report_id' => $id]);
             $query->andWhere(['validation_params_id' => $param['id']]);
             $query->from('validation_violation');
             $val = $query->all();
             if (count($val) > 0) {
                 $table2 .= "";
                 $table2 .= "<tr>";
                 $table2 .= "<td rowspan='" . count($val) . "'  width=10.5%>" . $param['name'] . "</td>";
                 $table2 .= "<td width='15%'>" . $val[0]['name'] . "</td>";
                 if ($val[0]['price'] == "") {
                     $table2 .= "<td rowspan='" . count($val) . "' align='center'><b>" . $param['price'] . "</b></td>";
                     $priceAll = $priceAll + $param['price'];
                 } else {
                     $table2 .= "<td align='center'><b>" . $val[0]['price'] . "<b></td>";
                     $priceAll = $priceAll + $val[0]['price'];
                 }
                 $table2 .= "<td rowspan='" . count($val) . "' valign=top>" . $param['nd'] . "</td>";
                 $table2 .= "<td rowspan='" . count($val) . "' valign=top width=45%>" . $param['sankcii'] . "</td>";
                 $table2 .= "</tr>\n";
                 $n = 0;
                 foreach ($val as $violation) {
                     if ($n != 0) {
                         $table2 .= "<tr  nobr=\"false\">";
                         $table2 .= "<td>" . $violation['name'] . "</td>";
                         if ($violation['price'] != "") {
                             $table2 .= "<td align='center'><b>" . $violation['price'] . "</b></td>";
                             $priceAll = $priceAll + $violation['price'];
                         }
                         $table2 .= "</tr>\n";
                     }
                     $n++;
                 }
                 $err = 1;
             }
         }
         if ($table2) {
             $table .= "";
             $table .= "<h4 align='center'>" . $main['name'] . "</h4>";
             $table .= "<table border='1' cellpadding='3' cellspacing='0' width='100%'>";
             $table .= "<thead><tr align='center'  class='main'>";
             $table .= "<td align='center'>Проверяемый  параметр</td>";
             $table .= "<td align='center'>Выявленные нарушения</td>";
             $table .= "<td align='center'>Риск применения санкций для юр.лица (max)</td>";
             $table .= "<td align='center'>п. НД, регламентирующий указанное в колонке 2 требование</td>";
             $table .= "<td align='center'>Риск применения санкций возможный контролирующий орган, ст. КоАП и др…</td>";
             $table .= "</tr></thead>\n\n";
             $table .= "<tr align='center'  class='main2'>";
             //$table .= "<td colspan='5'>" . $main['name'] . "</td>";
             $table .= "</tr>";
             $table .= $table2;
             $table .= "</table>";
         }
     }
     $table .= "</div></body>";
     $query = new Query();
     $query->select('validation_report.`created_at`,ur_l.`name`,apteki.`address`,users.`username`');
     $query->InnerJoin('apteki', 'apteki.id = validation_report.`apteka_id` ');
     $query->InnerJoin('ur_l', 'apteki.ur_l_id = ur_l.id');
     $query->LeftJoin('users', 'users.id = validation_report.user_id');
     $query->where(['validation_report.id' => $id]);
     $query->from('validation_report');
     $val = $query->one();
     $dat = new \DateTime($val['created_at']);
     $dat2 = $dat->format('d.m.Y');
     $html2 = "";
     $html2 .= "<h1 align='CENTER'>АКТ ОБСЛЕДОВАНИЯ АПТЕЧНОГО УЧРЕЖДЕНИЯ </h1>";
     $html2 .= "<h4 align='CENTER'>В РАМКАХ ПРОЕКТА ФАРМОПЕКА (конфиденциально, только для внутреннего пользования) </h4>";
     $html2 .= "<br><br><div class='header'>";
     $html2 .= "<span>Дата проверки: </span>" . $dat2;
     $html2 .= "<br><br>";
     $html2 .= "<span>Юридическое лицо: </span>" . $val['name'];
     $html2 .= "<br>";
     $html2 .= "<span>Адрес объекта:</span> " . $val['address'];
     $html2 .= "<br>";
     $html2 .= "<span>ФИО инспектирующего лица: </span>" . $val['username'];
     $html2 .= "<br>";
     $html2 .= "<br><br><br><br>";
     $html2 .= "<span>Выявлены несоответствия (графа 2) в соблюдение лицензионных условий   и фармацевтического порядка на сумму <b>" . \number_format($priceAll, 0) . "</b> руб.</span>";
     $html2 .= "</div>";
     $html = $html1 . $html2 . $table;
     return $html;
 }