79 lines
1.8 KiB
PHP
Executable File
79 lines
1.8 KiB
PHP
Executable File
<?php
|
|
|
|
namespace app\common\model\doctor;
|
|
|
|
use app\common\model\BaseModel;
|
|
|
|
/**
|
|
* 医生排班模型
|
|
* Class Roster
|
|
* @package app\common\model\doctor
|
|
*/
|
|
class Roster extends BaseModel
|
|
{
|
|
protected $name = 'doctor_roster';
|
|
|
|
// 自动时间戳类型设置为整型
|
|
protected $autoWriteTimestamp = true;
|
|
protected $createTime = 'create_time';
|
|
protected $updateTime = 'update_time';
|
|
protected $deleteTime = 'delete_time';
|
|
|
|
// 时间字段取出后的默认时间格式(设置为false表示保持整型)
|
|
protected $dateFormat = false;
|
|
|
|
/**
|
|
* @notes 状态描述
|
|
* @param $value
|
|
* @param $data
|
|
* @return string
|
|
*/
|
|
public function getStatusDescAttr($value, $data)
|
|
{
|
|
$statusMap = [
|
|
1 => '出诊',
|
|
2 => '停诊',
|
|
3 => '休息',
|
|
4 => '请假',
|
|
];
|
|
return $statusMap[$data['status']] ?? '未知';
|
|
}
|
|
|
|
/**
|
|
* @notes 时段描述
|
|
* @param $value
|
|
* @param $data
|
|
* @return string
|
|
*/
|
|
public function getPeriodDescAttr($value, $data)
|
|
{
|
|
$st = $data['start_time'] ?? '';
|
|
$et = $data['end_time'] ?? '';
|
|
if ($st !== '' && $et !== '') {
|
|
return $st . '-' . $et;
|
|
}
|
|
if (($data['period'] ?? '') === 'morning') {
|
|
return '上午';
|
|
}
|
|
if (($data['period'] ?? '') === 'afternoon') {
|
|
return '下午';
|
|
}
|
|
if (($data['period'] ?? '') === 'night') {
|
|
return '夜班';
|
|
}
|
|
|
|
return '时段';
|
|
}
|
|
|
|
/**
|
|
* @notes 日期格式化
|
|
* @param $value
|
|
* @param $data
|
|
* @return string
|
|
*/
|
|
public function getDateTextAttr($value, $data)
|
|
{
|
|
return $data['date'] ?? '';
|
|
}
|
|
}
|