/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Delivery::find(); $subquery = DeliveryDetail::find()->select('delivery_id, SUM(count) as detail_count')->groupBy('delivery_id'); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['time' => SORT_DESC]]]); /* *set the count search */ $dataProvider->sort->attributes['detailCount'] = ['asc' => ['detailSum.detail_count' => SORT_ASC], 'desc' => ['detailSum.detail_count' => SORT_DESC], 'label' => Yii::t('app', 'Count')]; $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } if (isset($this->time) && $this->time != '') { $date_explode = explode(" to ", $this->time); $date1 = trim($date_explode[0]); $date2 = trim($date_explode[1]); $date2 = date("Y-m-d", strtotime("+1 day", strtotime($date2))); $query->andFilterWhere(['between', 'delivery.time', $date1, $date2]); } $query->joinwith('customer'); $query->andFilterWhere(['id' => $this->id, 'detailSum.detail_count' => $this->detailCount]); $query->andFilterWhere(['like', 'state', $this->state]); $query->andFilterWhere(['like', 'money', $this->money]); $query->andFilterWhere(['like', 'profit', $this->profit]); $query->andFilterWhere(['like', 'customer.name', $this->customer_id]); return $dataProvider; }
public function actionUpdate($id) { $model = Orders::findOne($id); if ($model->load(Yii::$app->request->post())) { $model->editTimestamp = date('Y-m-d H:i:s'); $model->editName = Yii::$app->user->identity->full_name; $model->save(); return true; } return $this->renderAjax('form', ['model' => $model, 'clients' => ArrayHelper::map(Clients::find()->all(), 'id', 'name'), 'delivery' => ArrayHelper::map(Delivery::find()->all(), 'id', 'name'), 'action' => 'create']); }
/** * Execute the console command. * * @return mixed */ public function fire() { $now = Carbon::now(); $model = Delivery::where('delivery_type_id', 2)->whereNull('datepublish')->whereBetween('datestart', [$now->subMinutes(2)->format('Y-m-d H:i:s'), $now->addMinute(3)->format('Y-m-d H:i:s')])->get(); $data = $model->toArray(); $driver = Driver::whereFlagactive(1)->get(); Log::warning($now->format('Y-m-d H:i:s')); Log::warning($now->subMinutes(2)->format('Y-m-d H:i:s')); Log::warning($now->addMinute(3)->format('Y-m-d H:i:s')); Log::info('Cron funcionando'); if (!empty($driver) && count($data) > 0) { foreach ($driver as $value) { foreach ($data as $objDelivery) { Notification::create(array('type_id' => Notification::PUSH, 'platform_id' => Platform::ANDROID, 'user_id' => $value->id, 'app_id' => Config::get('app.APP_ID'), 'token' => \md5(\uniqid(\time())), 'description' => "{\"delivery_id\":\"{$objDelivery['id']}\",\"description\":\"Nuevo delivery\"}", 'appname' => Config::get('app.APP_NAME'), 'dbconfig' => Config::get('app.DB_CONFIG'), 'params' => "{\"delivery_id\":\"{$objDelivery['id']}\",\"description\":\"Nuevo delivery\"}", 'tosend' => $value->uuid, 'to' => 'Test', 'from' => 'Cligo', 'flagsend' => 0, 'flagactive' => 1)); $del = Delivery::find($objDelivery['id']); $del->datepublish = Carbon::now()->format('Y-m-d H:i:s'); $del->save(); Log::info("Notificacion enviada del delivery id: {$objDelivery['id']}"); } } } }
public function actionIndex() { $query = Delivery::find()->orderBy('name')->all(); return $this->renderPartial('delivery', ['query' => $query]); }
public static function deliveryArr() { return ArrayHelper::map(Delivery::find()->asArray()->all(), 'id', 'name'); }
public function getDeliveryList() { return Delivery::find()->asArray()->all(); }