feat(打卡接口): 更新打卡逻辑
parent
a1716ce10a
commit
37c146a4e0
|
@ -358,19 +358,27 @@ class User extends Base
|
||||||
$list = [];
|
$list = [];
|
||||||
|
|
||||||
if ($accountId > 0) {
|
if ($accountId > 0) {
|
||||||
|
if (!$account = Account::findById($accountId)) {
|
||||||
|
return $this->json(6001, '请先登录');
|
||||||
|
}
|
||||||
|
|
||||||
$where = [];
|
$where = [];
|
||||||
$where[] = ['cl.created_at', '>', date('Y-m-d 00:00:00')];
|
$where[] = ['cl.created_at', '>', date('Y-m-d 00:00:00')];
|
||||||
$where[] = ['cl.created_at', '<', date('Y-m-d 23:59:59')];
|
$where[] = ['cl.created_at', '<', date('Y-m-d 23:59:59')];
|
||||||
$where[] = ['cl.account_id', '=', $accountId];
|
$where[] = ['cl.account_id', '=', $accountId];
|
||||||
|
|
||||||
|
$where[] = ['cl.role', '=', $account['role']];
|
||||||
|
$limit = $account['role'] == Account::ROLE_NORMAL ? 4 : 0;//普通用户只展示最新4条 其他不限制
|
||||||
$list = \app\model\ClockLog::alias('cl')
|
$list = \app\model\ClockLog::alias('cl')
|
||||||
->leftJoin('worksite w', 'w.id = cl.worksite_id')
|
->leftJoin('worksite w', 'w.id = cl.worksite_id')
|
||||||
->field('cl.*,w.name as worksite_name')
|
->field('cl.*,w.name as worksite_name')
|
||||||
->where($where)
|
->where($where)
|
||||||
|
->limit($limit)
|
||||||
->order('cl.id', 'desc')
|
->order('cl.id', 'desc')
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
$list->each(function ($item) {
|
$list->each(function ($item) {
|
||||||
$item->type_text = $item->type == 'in' ? '上班' : '下班';
|
$item->type_text = ClockLog::typeText()[$item->type];
|
||||||
switch ($item->status) {
|
switch ($item->status) {
|
||||||
case 0:
|
case 0:
|
||||||
$item->status_text = '待确认';
|
$item->status_text = '待确认';
|
||||||
|
@ -382,7 +390,7 @@ class User extends Base
|
||||||
$item->status_text = '不通过';
|
$item->status_text = '不通过';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$item->time = date('H:i:s', $item->create_time);
|
$item->time = date('H:i', $item->create_time);
|
||||||
});
|
});
|
||||||
$list = $list->toArray();
|
$list = $list->toArray();
|
||||||
}
|
}
|
||||||
|
@ -506,6 +514,7 @@ class User extends Base
|
||||||
'created_at' => $now,
|
'created_at' => $now,
|
||||||
'create_time' => $time,
|
'create_time' => $time,
|
||||||
'day' => $day,
|
'day' => $day,
|
||||||
|
'role' => $customer['role'],
|
||||||
'indexs' => $accountId.'-'.$input['worksite_id'].'-'.$day,
|
'indexs' => $accountId.'-'.$input['worksite_id'].'-'.$day,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -537,6 +546,7 @@ class User extends Base
|
||||||
* 普通用户打卡
|
* 普通用户打卡
|
||||||
*
|
*
|
||||||
* @param int $accountId
|
* @param int $accountId
|
||||||
|
* @param string $type
|
||||||
* @return bool
|
* @return bool
|
||||||
* @throws \app\exception\ApiException
|
* @throws \app\exception\ApiException
|
||||||
* @throws \think\db\exception\DbException
|
* @throws \think\db\exception\DbException
|
||||||
|
@ -558,6 +568,7 @@ class User extends Base
|
||||||
'created_at' => $now,
|
'created_at' => $now,
|
||||||
'create_time' => $time,
|
'create_time' => $time,
|
||||||
'day' => $day,
|
'day' => $day,
|
||||||
|
'status' => ClockLog::COMMON_ON,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue