employee['root_id']); $where[] = ['org_id', 'in', $org_ids]; if (!request()->isAjax()) { $employee_id = Footprints::where($where)->group('employee_id')->column('employee_id'); $employee_data = Employee::where('id', 'in', $employee_id)->field('id,name')->select(); View::assign('employee_data',$employee_data); return View::fetch(); } $page = input('page', 1, 'intval'); $limit = input('limit', 10, 'intval'); $employee_id = input('employee_id'); if(!empty($employee_id)){ $where[] = ['employee_id','=',$employee_id]; } $uid_employee = Footprints::where($where)->group('uid,employee_id')->order('uid asc')->column('uid,employee_id'); $count = count($uid_employee); $list_where = array_slice($uid_employee, ($page-1) * $limit, $limit); foreach ($list_where as $k => $v) { $v['pipe_type'] = 'card'; $list = Footprints::where($v)->order('addtime asc')->select()->toArray(); $list_where[$k]['user_name'] = User::where('id', '=', $v['uid'])->value('nickname'); $list_where[$k]['employee_name'] = Employee::where('id', '=', $v['employee_id'])->value('name'); $list_where[$k]['visit_count'] = count($list); $visit_long = 0; foreach ($list as $l) { if ($l['visit_due_time']) { $visit_long += $l['visit_due_time']; } } $list_where[$k]['visit_long'] = $visit_long; $visit_latest = end($list); $list_where[$k]['visit_latest'] = !empty($visit_latest) ? $visit_latest['addtime'] : ''; } return json(['code'=> 0, 'data'=> $list_where, 'count'=> $count]); } }