|
@@ -39,8 +39,11 @@ class Report extends Base
|
|
|
$evaluateSecondary = 0; // 中评数.
|
|
$evaluateSecondary = 0; // 中评数.
|
|
|
$evaluateBad = 0; // 差评数.
|
|
$evaluateBad = 0; // 差评数.
|
|
|
$evaluateNo = 0; // 未评数.
|
|
$evaluateNo = 0; // 未评数.
|
|
|
|
|
+ $alllWaitTime = 0; // 总排队时长.
|
|
|
|
|
+ $serviceTime = 0; // 总会话时长.
|
|
|
|
|
+ $cpdTime = 0; // 总相应时长.
|
|
|
foreach ($timeInterval['days_list'] as $k => $value) {
|
|
foreach ($timeInterval['days_list'] as $k => $value) {
|
|
|
- $allCount = 0; // 会话总数.
|
|
|
|
|
|
|
+ $allCount = 0; // 当天会话总数.
|
|
|
$dayBegin = strtotime($value);
|
|
$dayBegin = strtotime($value);
|
|
|
$dayEnd = (strtotime($value) + 24 * 60 * 60);
|
|
$dayEnd = (strtotime($value) + 24 * 60 * 60);
|
|
|
$chatLogCountWhere['start_time'] = [
|
|
$chatLogCountWhere['start_time'] = [
|
|
@@ -57,11 +60,17 @@ class Report extends Base
|
|
|
'alarm_count',
|
|
'alarm_count',
|
|
|
'evaluate_id',
|
|
'evaluate_id',
|
|
|
'system',
|
|
'system',
|
|
|
|
|
+ 'alarm_lineTime',
|
|
|
|
|
+ 'alarm_cvtOvertime',
|
|
|
|
|
+ 'alarm_corresponding',
|
|
|
];
|
|
];
|
|
|
// 查询当天的工单.
|
|
// 查询当天的工单.
|
|
|
$serviceLog = model('serviceLog')->selectServiceLog($field, $join, $chatLogCountWhere);
|
|
$serviceLog = model('serviceLog')->selectServiceLog($field, $join, $chatLogCountWhere);
|
|
|
foreach ($serviceLog as $va) {
|
|
foreach ($serviceLog as $va) {
|
|
|
$allCount += $va['alarm_count'];
|
|
$allCount += $va['alarm_count'];
|
|
|
|
|
+ $alllWaitTime += $va['alarm_lineTime'];
|
|
|
|
|
+ $serviceTime += $va['alarm_cvtOvertime'];
|
|
|
|
|
+ $cpdTime += $va['alarm_corresponding'];
|
|
|
if ($va['evaluate_id'] == 1) {
|
|
if ($va['evaluate_id'] == 1) {
|
|
|
$evaluateGood++;
|
|
$evaluateGood++;
|
|
|
} elseif ($va['evaluate_id'] == 2) {
|
|
} elseif ($va['evaluate_id'] == 2) {
|
|
@@ -86,7 +95,7 @@ class Report extends Base
|
|
|
// 当天工单总数.
|
|
// 当天工单总数.
|
|
|
$serviceData[$k] = model('serviceLog')->countServiceLog($chatLogCountWhere);
|
|
$serviceData[$k] = model('serviceLog')->countServiceLog($chatLogCountWhere);
|
|
|
}//end foreach
|
|
}//end foreach
|
|
|
-
|
|
|
|
|
|
|
+ $systemCount = [];
|
|
|
foreach ($system as $k => $v) {
|
|
foreach ($system as $k => $v) {
|
|
|
$systemCount[] = [
|
|
$systemCount[] = [
|
|
|
'value' => $v,
|
|
'value' => $v,
|
|
@@ -98,6 +107,41 @@ class Report extends Base
|
|
|
|
|
|
|
|
$defaultTime = "$startTime , $endTime";
|
|
$defaultTime = "$startTime , $endTime";
|
|
|
|
|
|
|
|
|
|
+ $allChat = 0; // 会话总数.
|
|
|
|
|
+ $allService = 0; // 消息总数.
|
|
|
|
|
+ $allQueue = 0; // 消息总数.
|
|
|
|
|
+ foreach ($chatData as $v) {
|
|
|
|
|
+ $allChat += $v;
|
|
|
|
|
+ }
|
|
|
|
|
+ foreach ($serviceData as $v) {
|
|
|
|
|
+ $allService += $v;
|
|
|
|
|
+ }
|
|
|
|
|
+ foreach ($queueData as $v) {
|
|
|
|
|
+ $allQueue += $v;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 转接量.
|
|
|
|
|
+ $transferWhere['ctime'] = [
|
|
|
|
|
+ 'between',
|
|
|
|
|
+ [
|
|
|
|
|
+ $startTime,
|
|
|
|
|
+ $endTime,
|
|
|
|
|
+ ],
|
|
|
|
|
+ ];
|
|
|
|
|
+ $transfer = model('ServiceturnLog')->countSlg($transferWhere);
|
|
|
|
|
+ // 问答比.
|
|
|
|
|
+ $replyWhere['time_line'] = [
|
|
|
|
|
+ 'between',
|
|
|
|
|
+ [
|
|
|
|
|
+ strtotime($startTime),
|
|
|
|
|
+ strtotime($endTime),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ];
|
|
|
|
|
+ $allChatLog = model('ChatLog')->selectChatLog($replyWhere);
|
|
|
|
|
+ $replyWhere['from_id'] = ['like', 'KF%'];
|
|
|
|
|
+ $reply = model('ChatLog')->selectChatLog($replyWhere);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
$this->assign([
|
|
$this->assign([
|
|
|
'xData' => json_encode($xData),
|
|
'xData' => json_encode($xData),
|
|
|
'chatData' => json_encode($chatData),
|
|
'chatData' => json_encode($chatData),
|
|
@@ -105,6 +149,16 @@ class Report extends Base
|
|
|
'queueData' => json_encode($queueData),
|
|
'queueData' => json_encode($queueData),
|
|
|
'systemCount' => json_encode($systemCount),
|
|
'systemCount' => json_encode($systemCount),
|
|
|
'defaultTime' => json_encode($defaultTime),
|
|
'defaultTime' => json_encode($defaultTime),
|
|
|
|
|
+ 'allChat' => $allChat,
|
|
|
|
|
+ 'allService' => $allService,
|
|
|
|
|
+ 'allQueue' => $allQueue,
|
|
|
|
|
+ 'transfer' => floor($transfer/2),
|
|
|
|
|
+ 'reply' => sprintf("%.2f",(($reply/($allChatLog-$reply))*100)),
|
|
|
|
|
+ 'waitTime' => ceil($alllWaitTime/$allService),
|
|
|
|
|
+ 'serviceTime' => ceil($serviceTime/$allService),
|
|
|
|
|
+ 'cpdTime' => ceil($cpdTime/$allService),
|
|
|
|
|
+ 'evaluateGood' => sprintf("%.2f",(($evaluateGood/($evaluateGood+$evaluateSecondary+$evaluateBad))*100)),
|
|
|
|
|
+ 'evaluateGet' => sprintf("%.2f",((($evaluateGood+$evaluateSecondary+$evaluateBad)/($evaluateNo+$evaluateGood+$evaluateSecondary+$evaluateBad))*100)),
|
|
|
'evaluate' => json_encode([
|
|
'evaluate' => json_encode([
|
|
|
'evaluateGood' => $evaluateGood,
|
|
'evaluateGood' => $evaluateGood,
|
|
|
'evaluateSecondary' => $evaluateSecondary,
|
|
'evaluateSecondary' => $evaluateSecondary,
|
|
@@ -267,9 +321,6 @@ class Report extends Base
|
|
|
$ttt = $start_date;
|
|
$ttt = $start_date;
|
|
|
$start_date = $end_date;
|
|
$start_date = $end_date;
|
|
|
$end_date = $ttt;
|
|
$end_date = $ttt;
|
|
|
- } elseif ($start_date == $end_date) {
|
|
|
|
|
- echo '时间输入错误';
|
|
|
|
|
- die;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$time_s = strtotime($start_date);
|
|
$time_s = strtotime($start_date);
|