Server_AccessControl/models/Schedule.php
2020-10-14 17:21:26 +07:00

174 lines
5.4 KiB
PHP

<?php
namespace app\models;
use Yii;
/**
* This is the model class for table "schedule".
*
* @property int $id
* @property string $name
* @property string $description
* @property string $SunTime1
* @property string $SunTime2
* @property string $SunTime3
* @property string $MonTime1
* @property string $MonTime2
* @property string $MonTime3
* @property string $TueTime1
* @property string $TueTime2
* @property string $TueTime3
* @property string $WedTime1
* @property string $WedTime2
* @property string $WedTime3
* @property string $ThuTime1
* @property string $ThuTime2
* @property string $ThuTime3
* @property string $FriTime1
* @property string $FriTime2
* @property string $FriTime3
* @property string $SatTime1
* @property string $SatTime2
* @property string $SatTime3
* @property string $created_at
* @property string $modified_at
*/
class Schedule extends \yii\db\ActiveRecord {
/**
* {@inheritdoc}
*/
public static function tableName() {
return 'schedule';
}
/**
* {@inheritdoc}
*/
public function rules() {
return [
[['name'], 'required'],
[['description'], 'string'],
[['name'], 'string', 'max' => 200],
[['created_at', 'modified_at'], 'integer'],
[['SunTime1', 'SunTime2', 'SunTime3', 'MonTime1', 'MonTime2', 'MonTime3', 'TueTime1', 'TueTime2', 'TueTime3', 'WedTime1', 'WedTime2', 'WedTime3', 'ThuTime1', 'ThuTime2', 'ThuTime3', 'FriTime1', 'FriTime2', 'FriTime3', 'SatTime1', 'SatTime2', 'SatTime3'], 'string', 'max' => 100],
];
}
/**
* {@inheritdoc}
*/
public function attributeLabels() {
return [
'id' => 'ID',
'name' => 'Tên lịch trình',
'description' => 'Chú thích',
'SunTime1' => 'Sun Time1',
'SunTime2' => 'Sun Time2',
'SunTime3' => 'Sun Time3',
'MonTime1' => 'Mon Time1',
'MonTime2' => 'Mon Time2',
'MonTime3' => 'Mon Time3',
'TueTime1' => 'Tue Time1',
'TueTime2' => 'Tue Time2',
'TueTime3' => 'Tue Time3',
'WedTime1' => 'Wed Time1',
'WedTime2' => 'Wed Time2',
'WedTime3' => 'Wed Time3',
'ThuTime1' => 'Thu Time1',
'ThuTime2' => 'Thu Time2',
'ThuTime3' => 'Thu Time3',
'FriTime1' => 'Fri Time1',
'FriTime2' => 'Fri Time2',
'FriTime3' => 'Fri Time3',
'SatTime1' => 'Sat Time1',
'SatTime2' => 'Sat Time2',
'SatTime3' => 'Sat Time3',
'created_at' => 'Thời gian tạo',
'modified_at' => 'Thời gian sửa',
];
}
public static $dayOfWeek = [
"Mon" => "Thứ hai",
"Tue" => "Thứ ba",
"Wed" => "Thứ tư",
"Thu" => "Thứ năm",
"Fri" => "Thứ sáu",
"Sat" => "Thứ bảy",
"Sun" => "Chủ nhật"
];
public function create($data) {
$r = $this->load([
'name' => $data["Name"],
'description' => $data["Description"],
'SunTime1' => $data["SunTime1"],
'SunTime2' => $data["SunTime2"],
'SunTime3' => $data["SunTime3"],
'MonTime1' => $data["MonTime1"],
'MonTime2' => $data["MonTime2"],
'MonTime3' => $data["MonTime3"],
'TueTime1' => $data["TueTime1"],
'TueTime2' => $data["TueTime2"],
'TueTime3' => $data["TueTime3"],
'WedTime1' => $data["WedTime1"],
'WedTime2' => $data["WedTime2"],
'WedTime3' => $data["WedTime3"],
'ThuTime1' => $data["ThuTime1"],
'ThuTime2' => $data["ThuTime2"],
'ThuTime3' => $data["ThuTime3"],
'FriTime1' => $data["FriTime1"],
'FriTime2' => $data["FriTime2"],
'FriTime3' => $data["FriTime3"],
'SatTime1' => $data["SatTime1"],
'SatTime2' => $data["SatTime2"],
'SatTime3' => $data["SatTime3"],
"created_at" => time(),
"modified_at" => time()
], '');
if ($r) {
try {
$this->save();
return $this->id;
} catch (\Exception $ex) {
return false;
}
}
}
public static function combineTime($from, $to) {
return $from . "-" . $to;
}
public static function convertTime($from, $to) {
$fTemp = explode(":", $from);
$front = dechex(intval($fTemp[0]) * 100 + intval($fTemp[1]));
$tTemp = explode(":", $to);
$back = dechex(intval($tTemp[0]) * 100 + intval($tTemp[1]));
return hexdec("0" . $front . "0" . $back);
}
public static function convertTimeAttr($attr) {
$temp = explode("-", $attr);
$from = $temp[0];
$to = $temp[1];
$fTemp = explode(":", $from);
$front = dechex(intval($fTemp[0]) * 100 + intval($fTemp[1]));
$tTemp = explode(":", $to);
$back = dechex(intval($tTemp[0]) * 100 + intval($tTemp[1]));
return hexdec("0" . $front . "0" . $back);
}
public static function scheduleArray() {
$lists = self::find()->all();
$results = [];
foreach ($lists as $key => $value) {
$results[$value->id] = $value->name;
}
return $results;
}
}