Engineer.php
1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace addons\workorder\model;
use think\Model;
use traits\model\SoftDelete;
/**
* 工程师模型
*/
class Engineer extends Model
{
use SoftDelete;
// 表名
protected $name = 'workorder_engineers';
// 自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = false;
protected $deleteTime = 'deletetime';
protected static $showEngineerInfoConfig = [];
protected $append = [
'all_order_number',
//'average_solve_time',
//'average_first_response'
];
protected static function init()
{
$workorderConfig = get_addon_config('workorder');
self::$showEngineerInfoConfig = explode(',', $workorderConfig['show_engineer_info']);
}
public function getAllOrderNumberAttr($value, $data)
{
if (!in_array('all_order_number', self::$showEngineerInfoConfig)) {
return false;
}
return \addons\workorder\model\Orders::where(['engineer_id' => $data['id']])->count('id');
}
public static function getEngineerInfoConfig()
{
return self::$showEngineerInfoConfig;
}
/*public function getAverageSolveTimeAttr($value, $data)
{
if (!in_array('average_solve_time', self::$showEngineerInfoConfig)) {
return false;
}
return 'average_solve_time';
}*/
/*public function getAverageFirstResponseAttr($value, $data)
{
if (!in_array('average_first_response', self::$showEngineerInfoConfig)) {
return false;
}
return 'average_first_response';
}*/
public function user()
{
return $this->hasOne('app\admin\model\User', 'id', 'user_id', [], 'LEFT')->setEagerlyType(0);
}
}