| Line 149... |
Line 149... |
| 149 |
<tr>
|
149 |
<tr>
|
| 150 |
<th colspan="2">RBM Name</th>
|
150 |
<th colspan="2">RBM Name</th>
|
| 151 |
<th style="background-color: #ffc107; color: black;">Rating</th>
|
151 |
<th style="background-color: #ffc107; color: black;">Rating</th>
|
| 152 |
<th style="background-color: #17a2b8; color: white;">Agent Status</th>
|
152 |
<th style="background-color: #17a2b8; color: white;">Agent Status</th>
|
| 153 |
<th style="background-color: #17a2b8; color: white;">Time in Status</th>
|
153 |
<th style="background-color: #17a2b8; color: white;">Time in Status</th>
|
| - |
|
154 |
<th style="background-color: #007bff; color: white;"><i class="fa fa-clock"></i> Login</th>
|
| - |
|
155 |
<th style="background-color: #28a745; color: white;"><i class="fa fa-phone"></i> On Call</th>
|
| - |
|
156 |
<th style="background-color: #dc3545; color: white;"><i class="fa fa-user-clock"></i> Idle</th>
|
| - |
|
157 |
<th style="background-color: #fd7e14; color: white;"><i class="fa fa-coffee"></i> Break</th>
|
| 154 |
<th>Partner Count</th>
|
158 |
<th>Partner Count</th>
|
| 155 |
<th>(Ach/Tgt)</th>
|
159 |
<th>(Ach/Tgt)</th>
|
| 156 |
<th>Calling Target</th>
|
160 |
<th>Calling Target</th>
|
| 157 |
<th>Called</th>
|
161 |
<th>Called</th>
|
| 158 |
<th class="highlight-plan-today">Plan Today</th>
|
162 |
<th class="highlight-plan-today">Plan Today</th>
|
| Line 160... |
Line 164... |
| 160 |
<th style="background-color: #1e6e0e; color: white;">Zero Billing</th>
|
164 |
<th style="background-color: #1e6e0e; color: white;">Zero Billing</th>
|
| 161 |
<th class="highlight-untouched">Untouched</th>
|
165 |
<th class="highlight-untouched">Untouched</th>
|
| 162 |
<th class="highlight-future-plan">Future Plan</th>
|
166 |
<th class="highlight-future-plan">Future Plan</th>
|
| 163 |
<th>Normal</th>
|
167 |
<th>Normal</th>
|
| 164 |
<th style="background-color: #c0392b;">Out of Sequence</th>
|
168 |
<th style="background-color: #c0392b;">Out of Sequence</th>
|
| 165 |
<th>Download</th>
|
- |
|
| 166 |
</tr>
|
169 |
</tr>
|
| 167 |
</thead>
|
170 |
</thead>
|
| 168 |
<tbody>
|
171 |
<tbody>
|
| 169 |
#set($totalPartnerCount = 0)
|
172 |
#set($totalPartnerCount = 0)
|
| 170 |
#set($totalTodayTarget = 0)
|
173 |
#set($totalTodayTarget = 0)
|
| Line 211... |
Line 214... |
| 211 |
<tr>
|
214 |
<tr>
|
| 212 |
<td colspan="2"><strong>TOTAL</strong></td>
|
215 |
<td colspan="2"><strong>TOTAL</strong></td>
|
| 213 |
<td>-</td>
|
216 |
<td>-</td>
|
| 214 |
<td>-</td>
|
217 |
<td>-</td>
|
| 215 |
<td>-</td>
|
218 |
<td>-</td>
|
| - |
|
219 |
<td>-</td>
|
| - |
|
220 |
<td>-</td>
|
| - |
|
221 |
<td>-</td>
|
| - |
|
222 |
<td>-</td>
|
| 216 |
<td><strong>$totalPartnerCount</strong></td>
|
223 |
<td><strong>$totalPartnerCount</strong></td>
|
| 217 |
<td><strong><span class="lakh">$totalArrAchieved</span> / <span class="lakh">$totalArrTarget</span></strong>
|
224 |
<td><strong><span class="lakh">$totalArrAchieved</span> / <span class="lakh">$totalArrTarget</span></strong>
|
| 218 |
</td>
|
225 |
</td>
|
| 219 |
<td class="highlight-target"><strong>$adjustedTotalTarget</strong></td>
|
226 |
<td class="highlight-target"><strong>$adjustedTotalTarget</strong></td>
|
| 220 |
<td class="highlight-achieved currency"><strong>$adjustedTotalAchieved</strong></td>
|
227 |
<td class="highlight-achieved currency"><strong>$adjustedTotalAchieved</strong></td>
|
| Line 223... |
Line 230... |
| 223 |
<td><strong>$totalZeroBilling</strong></td>
|
230 |
<td><strong>$totalZeroBilling</strong></td>
|
| 224 |
<td class="highlight-untouched"><strong>$totalUntouched</strong></td>
|
231 |
<td class="highlight-untouched"><strong>$totalUntouched</strong></td>
|
| 225 |
<td class="highlight-future-plan"><strong>$totalFuturePlan</strong></td>
|
232 |
<td class="highlight-future-plan"><strong>$totalFuturePlan</strong></td>
|
| 226 |
<td><strong>$totalNormal</strong></td>
|
233 |
<td><strong>$totalNormal</strong></td>
|
| 227 |
<td class="highlight-oos"><strong>$totalOutOfSequence</strong></td>
|
234 |
<td class="highlight-oos"><strong>$totalOutOfSequence</strong></td>
|
| 228 |
<td></td>
|
- |
|
| 229 |
</tr>
|
235 |
</tr>
|
| 230 |
|
236 |
|
| 231 |
#foreach($model in $rbmCallTargetModels)
|
237 |
#foreach($model in $rbmCallTargetModels)
|
| 232 |
#set($rowTarget = $model.getTodayTargetOfCall() + $model.getMovedToFuture())
|
238 |
#set($rowTarget = $model.getTodayTargetOfCall() + $model.getMovedToFuture())
|
| 233 |
#set($rowAchieved = $model.getValueTargetAchieved() + $model.getMovedToFuture())
|
239 |
#set($rowAchieved = $model.getValueTargetAchieved() + $model.getMovedToFuture())
|
| Line 302... |
Line 308... |
| 302 |
$agentStatus.getTimeInStatus()
|
308 |
$agentStatus.getTimeInStatus()
|
| 303 |
#else
|
309 |
#else
|
| 304 |
-
|
310 |
-
|
| 305 |
#end
|
311 |
#end
|
| 306 |
</td>
|
312 |
</td>
|
| - |
|
313 |
<td style="background-color: #e7f1ff;">
|
| - |
|
314 |
#if($loginTimeByAuthId && $loginTimeByAuthId.get($model.getAuthId()))
|
| - |
|
315 |
$loginTimeByAuthId.get($model.getAuthId())
|
| - |
|
316 |
#else
|
| - |
|
317 |
-
|
| - |
|
318 |
#end
|
| - |
|
319 |
</td>
|
| - |
|
320 |
<td style="background-color: #d4edda;">
|
| - |
|
321 |
#if($onCallTimeByAuthId && $onCallTimeByAuthId.get($model.getAuthId()))
|
| - |
|
322 |
$onCallTimeByAuthId.get($model.getAuthId())
|
| - |
|
323 |
#else
|
| - |
|
324 |
-
|
| - |
|
325 |
#end
|
| - |
|
326 |
</td>
|
| - |
|
327 |
<td style="background-color: #f8d7da;">
|
| - |
|
328 |
#if($availableTimeByAuthId && $availableTimeByAuthId.get($model.getAuthId()))
|
| - |
|
329 |
$availableTimeByAuthId.get($model.getAuthId())
|
| - |
|
330 |
#else
|
| - |
|
331 |
-
|
| - |
|
332 |
#end
|
| - |
|
333 |
</td>
|
| - |
|
334 |
<td style="background-color: #ffe5cc;">
|
| - |
|
335 |
#if($breakTimeByAuthId && $breakTimeByAuthId.get($model.getAuthId()))
|
| - |
|
336 |
$breakTimeByAuthId.get($model.getAuthId())
|
| - |
|
337 |
#else
|
| - |
|
338 |
-
|
| - |
|
339 |
#end
|
| - |
|
340 |
</td>
|
| 307 |
<td>$model.getPartnerCount()</td>
|
341 |
<td>$model.getPartnerCount()</td>
|
| 308 |
<td>
|
342 |
<td>
|
| 309 |
#if($arrAchievedByAuthId && $arrAchievedByAuthId.get($model.getAuthId()))
|
343 |
#if($arrAchievedByAuthId && $arrAchievedByAuthId.get($model.getAuthId()))
|
| 310 |
<span class="lakh">$arrAchievedByAuthId.get($model.getAuthId())</span>
|
344 |
<span class="lakh">$arrAchievedByAuthId.get($model.getAuthId())</span>
|
| 311 |
#else
|
345 |
#else
|
| Line 335... |
Line 369... |
| 335 |
onclick="showOutOfSequenceDetails($model.getAuthId(), '$model.getRbmName()')">$model.getOutOfSequenceCount()</span>
|
369 |
onclick="showOutOfSequenceDetails($model.getAuthId(), '$model.getRbmName()')">$model.getOutOfSequenceCount()</span>
|
| 336 |
#else
|
370 |
#else
|
| 337 |
0
|
371 |
0
|
| 338 |
#end
|
372 |
#end
|
| 339 |
</td>
|
373 |
</td>
|
| 340 |
<td>
|
- |
|
| 341 |
<a href="/indent/rbm_call_target/download_raw_data?authId=$model.getAuthId()" target="_blank"
|
- |
|
| 342 |
class="btn btn-sm btn-outline-success">CSV</a>
|
- |
|
| 343 |
</td>
|
- |
|
| 344 |
</tr>
|
374 |
</tr>
|
| 345 |
#end
|
375 |
#end
|
| 346 |
</tbody>
|
376 |
</tbody>
|
| 347 |
</table>
|
377 |
</table>
|
| 348 |
</div>
|
378 |
</div>
|
| Line 598... |
Line 628... |
| 598 |
html += '<small>(' + (data.breakCount || 0) + ' times)</small>';
|
628 |
html += '<small>(' + (data.breakCount || 0) + ' times)</small>';
|
| 599 |
html += '</div></div></div>';
|
629 |
html += '</div></div></div>';
|
| 600 |
|
630 |
|
| 601 |
html += '</div>';
|
631 |
html += '</div>';
|
| 602 |
|
632 |
|
| - |
|
633 |
// Second row: On Call, Total Login Time, Total On Call Time
|
| - |
|
634 |
html += '<div class="row">';
|
| - |
|
635 |
|
| - |
|
636 |
// On Call Box - Dark Green
|
| - |
|
637 |
html += '<div class="col-md-4 col-sm-6 mb-3">';
|
| - |
|
638 |
html += '<div class="card text-white" style="background-color: #28a745;">';
|
| - |
|
639 |
html += '<div class="card-body text-center">';
|
| - |
|
640 |
html += '<h5 class="card-title"><i class="fa fa-phone"></i> On Call</h5>';
|
| - |
|
641 |
html += '<h3 class="mb-0">' + (data.totalOnCallTime || '0h 0m 0s') + '</h3>';
|
| - |
|
642 |
html += '<small>(From Call Logs)</small>';
|
| - |
|
643 |
html += '</div></div></div>';
|
| - |
|
644 |
|
| - |
|
645 |
// Total Login Time Box - Blue
|
| - |
|
646 |
html += '<div class="col-md-4 col-sm-6 mb-3">';
|
| - |
|
647 |
html += '<div class="card text-white bg-primary">';
|
| - |
|
648 |
html += '<div class="card-body text-center">';
|
| - |
|
649 |
html += '<h5 class="card-title"><i class="fa fa-sign-in-alt"></i> Total Login Time</h5>';
|
| - |
|
650 |
html += '<h3 class="mb-0">' + (data.totalLoginTime || '0h 0m 0s') + '</h3>';
|
| - |
|
651 |
html += '<small>(Available + Trying + Break + On Call)</small>';
|
| - |
|
652 |
html += '</div></div></div>';
|
| - |
|
653 |
|
| - |
|
654 |
// Total Idle Time Box - Red
|
| - |
|
655 |
html += '<div class="col-md-4 col-sm-6 mb-3">';
|
| - |
|
656 |
html += '<div class="card text-white bg-danger">';
|
| - |
|
657 |
html += '<div class="card-body text-center">';
|
| - |
|
658 |
html += '<h5 class="card-title"><i class="fa fa-clock"></i> Total Idle Time</h5>';
|
| - |
|
659 |
html += '<h3 class="mb-0">' + (data.totalAvailableTime || '0h 0m 0s') + '</h3>';
|
| - |
|
660 |
html += '<small>(Available - Not on call)</small>';
|
| - |
|
661 |
html += '</div></div></div>';
|
| - |
|
662 |
|
| - |
|
663 |
html += '</div>';
|
| - |
|
664 |
|
| 603 |
// Check if no data
|
665 |
// Check if no data
|
| 604 |
if ((data.totalAvailableSeconds || 0) + (data.totalTryingSeconds || 0) +
|
666 |
if ((data.totalAvailableSeconds || 0) + (data.totalTryingSeconds || 0) +
|
| 605 |
(data.totalLoggedOutSeconds || 0) + (data.totalBreakSeconds || 0) === 0) {
|
667 |
(data.totalLoggedOutSeconds || 0) + (data.totalBreakSeconds || 0) +
|
| - |
|
668 |
(data.totalOnCallSeconds || 0) === 0) {
|
| 606 |
html += '<p class="text-muted text-center mt-3">No break time data available for this date.</p>';
|
669 |
html += '<p class="text-muted text-center mt-3">No break time data available for this date.</p>';
|
| 607 |
}
|
670 |
}
|
| 608 |
|
671 |
|
| 609 |
document.getElementById('breakTimeDetailsContent').innerHTML = html;
|
672 |
document.getElementById('breakTimeDetailsContent').innerHTML = html;
|
| 610 |
})
|
673 |
})
|