|
|
@@ -332,7 +332,8 @@ class Report extends Base
|
|
|
$param = input('param.');
|
|
|
$limit = $param['pageSize'];
|
|
|
$offset = ($param['pageNumber'] - 1) * $limit;
|
|
|
-
|
|
|
+ $start = time()-86400;
|
|
|
+ $end = time()-86400;
|
|
|
|
|
|
$where = [];
|
|
|
//用户名称
|
|
|
@@ -342,9 +343,6 @@ class Report extends Base
|
|
|
if (empty($param['start']) === false && empty($param['end']) === false && $param['start'] <= $param['end']) {
|
|
|
$start = strtotime($param['start']);
|
|
|
$end = strtotime($param['end'] . ' 23:59:59');
|
|
|
- } else {
|
|
|
- $start = '2019-07-01 00:00:00';
|
|
|
- $end = '2019-07-15 23:59:59';
|
|
|
}
|
|
|
$result = db('users')->limit($offset, $limit)->where($where)->select();
|
|
|
|
|
|
@@ -360,12 +358,14 @@ class Report extends Base
|
|
|
//客服回复工单数
|
|
|
$a = db('service_log a')->join('alarm b', 'a.servicelog_id=b.servicelog_id')->where('a.kf_id', $vo['id'])->whereBetween('a.start_time', [$start, $end])->where('b.alarm_respond', 2)->count();
|
|
|
//回复率
|
|
|
+ $result[$key]['reply'] = '';
|
|
|
if (!empty($result[$key]['service_num'])) {
|
|
|
$n = $a / $result[$key]['service_num'] * 100;
|
|
|
$result[$key]['reply'] = round($n, 2) . '%';
|
|
|
}
|
|
|
|
|
|
//答问比
|
|
|
+ $result[$key]['answer_problem'] = '';
|
|
|
if ($result[$key]['receive_words'] != 0) {
|
|
|
$num = $result[$key]['send_words'] / $result[$key]['receive_words'] * 100;
|
|
|
$result[$key]['answer_problem'] = round($num, 2) . '%';
|
|
|
@@ -387,6 +387,7 @@ class Report extends Base
|
|
|
//已评价的工单数
|
|
|
$m = db('service_log')->whereBetween('start_time', [$start, $end])->where('kf_id', $vo['id'])->where('evaluate_id', '<>', 0)->count();
|
|
|
//参评率
|
|
|
+ $result[$key]['appraise'] = '';
|
|
|
if ($result[$key]['service_num'] != 0) {
|
|
|
$result[$key]['appraise'] = $m / $result[$key]['service_num'] * 100;
|
|
|
$result[$key]['appraise'] = round($num, 2) . '%';
|
|
|
@@ -398,6 +399,7 @@ class Report extends Base
|
|
|
//不满意评价
|
|
|
$result[$key]['no_pleased'] = db('service_log a')->join('evaluate b', 'a.evaluate_id=b.evaluate_id')->whereBetween('a.start_time', [$start, $end])->where('kf_id', $vo['id'])->where('evaluate_name', '不满意')->count();
|
|
|
//相对满意度率
|
|
|
+ $result[$key]['pleased'] = '';
|
|
|
if ($m != 0) {
|
|
|
$result[$key]['pleased'] = $result[$key]['pleased_num'] / $m * 100;
|
|
|
$result[$key]['pleased'] = round($result[$key]['pleased'], 2) . '%';
|
|
|
@@ -408,34 +410,19 @@ class Report extends Base
|
|
|
|
|
|
// 生成操作按钮
|
|
|
//$result[$key]['operate'] = $this->makeBtn($vo['id']);
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
$return['total'] = db('users')->where($where)->count(); //总数据
|
|
|
$return['rows'] = $result;
|
|
|
|
|
|
-
|
|
|
if (!$toExcel) {
|
|
|
return json($return);
|
|
|
} else {
|
|
|
-
|
|
|
- $head = ['账号', '姓名', '工号'];
|
|
|
- $key = ['user_account', 'user_name', 'user_job_number'];
|
|
|
- $data = array();
|
|
|
- $data[0]['user_account'] = 'account1';
|
|
|
- $data[0]['user_name'] = 'name1';
|
|
|
- $data[0]['user_job_number'] = '001';
|
|
|
- $data[1]['user_account'] = 'account2';
|
|
|
- $data[1]['user_name'] = 'name2';
|
|
|
- $data[1]['user_job_number'] = '002';
|
|
|
-
|
|
|
- (new Office())->outdata('工作报表数据导出', $data, $head, $key);
|
|
|
+ $head = ['账号', '名称', '工号', '接入会话量', '总消息量', '接入转接量', '回复率', '答问比', '平均会话时长', '平均响应时长', '参评率', '相对满意度率', '满意评价次数', '一般评价次数', '不满意评价次数', '留言处理量'];
|
|
|
+ $key = ['user_account', 'user_name', 'user_job_number', 'service_num', 'send_words', 'transfer_in', 'reply', 'answer_problem', 'conversation', 'response', 'appraise', 'pleased', 'pleased_num', 'commonly', 'no_pleased', 'message'];
|
|
|
+ (new Office())->outdata('工作报表数据导出', $result, $head, $key);
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
return json($return);
|
|
|
-
|
|
|
}
|
|
|
//所有客服
|
|
|
$users = db('users')->select();
|
|
|
@@ -454,24 +441,4 @@ class Report extends Base
|
|
|
return $this->fetch();
|
|
|
}
|
|
|
|
|
|
- public function toexcel()
|
|
|
- {
|
|
|
- $head = ['账号', '姓名', '工号'];
|
|
|
- $key = ['user_account', 'user_name', 'user_job_number'];
|
|
|
-// $data = $this->workreport();
|
|
|
-// return $data;
|
|
|
-// $data = $data['rows'];
|
|
|
- $data = array();
|
|
|
- $data[0]['user_account'] = 'account1';
|
|
|
- $data[0]['user_name'] = 'name1';
|
|
|
- $data[0]['user_job_number'] = '001';
|
|
|
- $data[1]['user_account'] = 'account2';
|
|
|
- $data[1]['user_name'] = 'name2';
|
|
|
- $data[1]['user_job_number'] = '002';
|
|
|
-
|
|
|
- (new Office())->outdata('工作报表数据导出', $data, $head, $key);
|
|
|
-// return true;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}//end class
|