$checkIn = new AdminCheckin();
- $timetable = Timetable::find()
- ->andWhere(['admin_id' => $admin_id])
- ->andWhere(['between', 'date', date('Y-m-d', strtotime('-1 day')), date('Y-m-d')])
-// ->andWhere(['tabel' => 1])
- ->orderBy('id desc')
- ->one();
-
- $checkIn->plan_id = $timetable->plan_id;
- $checkIn->store_id = $timetable->store_id;
- $checkIn->d_id = $timetable->admin->group_id;
- $checkIn->date = $timetable->date;
+ $checkIn->plan_id = $fact->plan_id;
+ $checkIn->store_id = $fact->store_id;
+ $checkIn->d_id = $fact->admin->group_id;
+ $checkIn->date = $fact->date_shift;
$checkIn->ball = 5;
$checkIn->comment = "";
$checkIn->admin_id = $admin_id;
use yii_app\api3\core\services\TimetableService;
use yii_app\api3\core\traits\ServiceTrait;
use yii_app\api3\modules\v1\requests\timetable\Fact;
+use yii_app\records\TimetableFactModel;
/**
* @property TimetableService $timetableService
{
use ServiceTrait;
- public $modelClass = \yii_app\api3\modules\v1\requests\timetable\Fact::class;
+ public $modelClass = TimetableFactModel::class;
public function actions()
{
use ServiceTrait;
- public $modelClass = TimetableFactModel::class;
+ public $modelClass = Timetable::class;
public function actions()
'pageSizeLimit' => [1, 50],
];
- $request = Yii::$app->request->post()['filter'];
-
- $fact = TimetableFactModel::find()
- ->andWhere(['admin_id' => $request['admin_id']])
- ->andWhere(['date_shift' => $request['date']])
- ->one();
-
- if (true) {
- $this->modelClass = \yii_app\api3\modules\v1\models\timetable\Timetable::class;
- }
-
$actions['index']['dataFilter'] = [
'class' => \yii\data\ActiveDataFilter::class,
'searchModel' => $actions['index']['modelClass']
];
- var_dump($actions['index']);die();
+
unset($actions['delete']);
return $actions;
{
return $this->hasOne(CityStore::class, ['id' => 'store_id']);
}
-
- public function getCheckIns()
- {
- return $this->hasMany(AdminCheckin::class, ['admin_id' => 'admin_id'])
- ->andWhere(['BETWEEN', 'time', date('Y-m-d H:i:s', strtotime('-6 hour')), date('Y-m-d H:i:s', strtotime('+6 hour'))]);
-
+ public function getCheckIns() {
+ return $this->hasMany(AdminCheckin::class, ['plan_id' => 'id']);
}
- public function getCheckInCount()
- {
- return $this->hasMany(AdminCheckin::class, ['admin_id' => 'admin_id'])
- ->andWhere(['BETWEEN', 'time', date('Y-m-d H:i:s'), date('Y-m-d H:i:s', strtotime('+6 hour'))])
- ->andWhere(['BETWEEN', 'time', date('Y-m-d H:i:s', strtotime('-6 hour')), date('Y-m-d H:i:s')])->count();
-
+ public function getCheckInCount() {
+ return $this->hasMany(AdminCheckin::class, ['plan_id' => 'id'])->count();
}
}
\ No newline at end of file
public function rules()
{
return [
- [['admin_id', 'device_id', 'replaced_admin_id', 'plan_id', 'store_id', 'type_id', 'd_id', 'ball', 'status'], 'integer'],
+ [['admin_id', 'device_id', 'replaced_admin_id', 'store_id', 'type_id', 'd_id', 'ball', 'status'], 'integer'],
[['lat', 'lon'], 'double'],
- [['shift_id'], 'safe'],
+ [['shift_id', 'plan_id'], 'safe'],
[['comment', 'photo'], 'string'],
[['date'], 'date', 'format' => 'yyyy-M-d'],
// [['time'], 'date', 'format' => 'yyyy-M-d HH:mm:ss'],