Subversion Repositories SmartDukaan

Rev

Rev 37331 | Rev 37394 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26010 amit.gupta 1
<!DOCTYPE html>
2
<html lang="en">
28451 tejbeer 3
<head>
30017 amit.gupta 4
    <meta charset="utf-8">
5
    <meta name="viewport"
6
          content="width=device-width, initial-scale=1, maximum-scale=1">
36080 aman 7
    <meta name="description" content="Smart Dukaan Partner Dashboard">
30017 amit.gupta 8
    <meta name="author" content="smartdukaan">
33061 ranu 9
    <meta name="google-signin-client_id"
33063 ranu 10
          content="$googleApiKey">
31786 tejbeer 11
    <meta name="referrer" content="no-referrer">
30017 amit.gupta 12
    <link rel="shortcut icon" href="assets/images/icons/favicon.png">
26010 amit.gupta 13
 
36080 aman 14
    <title>Smart Dukaan - Partner Dashboard</title>
26010 amit.gupta 15
 
36566 amit 16
    <!-- vendor css -->
17
    <link href="resources/css/elegant-icons-style.css" rel="stylesheet">
18
    <link href="resources/css/font-awesome.min.css" rel="stylesheet">
19
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css"
20
          integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ"
21
          crossorigin="anonymous">
22
    <link href="resources/css/bootstrap.css" rel="stylesheet">
23
    <link href="resources/css/bootstrap-theme.min.css" rel="stylesheet">
24
    <link href="resources/css/jquery-ui-1.10.4.min.css" rel="stylesheet">
25
    <link href="resources/css/owl.carousel.css" rel="stylesheet">
30017 amit.gupta 26
    <link href="resources/css/jquery-jvectormap-1.2.2.css" rel="stylesheet">
36566 amit 27
    <link href="resources/css/datatables.bootstrap.min.css" rel="stylesheet">
28
    <link href="resources/css/bootstrap-multiselect.css" rel="stylesheet">
29
    <link href="resources/css/bootstrap-duallistbox.css" rel="stylesheet">
30
    <link href="resources/css/bootstrap-tagsinput.css" rel="stylesheet">
31
    <link href="resources/js/daterangepicker/daterangepicker.css" rel="stylesheet">
32
    <link href="resources/js/chosen.min.css" rel="stylesheet">
33
    <link href="resources/css/multi.min.css?v=${cssVersion}" rel="stylesheet">
34
    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet">
35
 
36
    <!-- app css -->
30017 amit.gupta 37
    <link href="resources/css/widgets.css" rel="stylesheet">
38
    <link href="resources/css/style.css?v=${cssVersion}" rel="stylesheet">
39
    <link href="resources/css/card.css?v=${cssVersion}" rel="stylesheet">
36566 amit 40
    <link href="resources/css/style-responsive.css?v=${cssVersion}" rel="stylesheet">
41
    <script src="https://apis.google.com/js/platform.js?onload=onLoad" async defer></script>
33061 ranu 42
    <script>
43
        function signOut() {
44
            var auth2 = gapi.auth2.getAuthInstance();
45
            auth2.signOut().then(function () {
46
                window.location.href = "${rc.contextPath}/logout";
47
                console.log('User signed out.');
28451 tejbeer 48
 
33061 ranu 49
            });
50
        }
51
 
52
        function onLoad() {
53
            gapi.load('auth2', function () {
54
                gapi.auth2.init();
55
            });
56
        }
57
    </script>
58
 
35396 amit 59
 
30017 amit.gupta 60
    <script type="text/javascript">
36194 vikas 61
        const isRBM = $isRBM;
30017 amit.gupta 62
        isAdmin = true;
36195 vikas 63
        function injectSmartChatScript(email, token) {
36194 vikas 64
            if (document.querySelector('script[src="https://chat.smartdukaan.com/embed.js"]')) {
65
                return;
66
            }
28451 tejbeer 67
 
36194 vikas 68
            const script = document.createElement('script');
69
            script.src = "https://chat.smartdukaan.com/embed.js";
70
            script.setAttribute("data-role", "INTERNAL");
71
            script.setAttribute("data-token", token);
36195 vikas 72
            if (email) script.setAttribute("data-email", email);
36194 vikas 73
            script.async = true;
74
 
75
            document.body.appendChild(script);
76
        }
77
 
78
        document.addEventListener("DOMContentLoaded", () => {
79
            if (isRBM) {
36201 vikas 80
                injectSmartChatScript("$authEmail", "eyJhbGciOiJIUzI1NiJ9.eyJyb2xlSWRzIjpbIjEiLCIyIiwiMyJdLCJpc3MiOiJwcm9maXRtYW5kaSIsImV4cCI6MTc3Nzg5OTk3MywicmV0YWlsZXJJZCI6MTc1MTM5Mjg3LCJpYXQiOjE3NzI3MTU5NzMsInVzZXJJZCI6NDAyMjJ9.aeUDKRtsemF4y1mLdWQBaWUBV2HFxoHARbc2JAZwc3U");
36194 vikas 81
            }
82
        });
83
 
30017 amit.gupta 84
        function getWarehousePartners(warehouseId) {
85
            doGetAjaxRequestHandler(context + "/getWarehousePartners?warehouseId=" + warehouseId,
36566 amit 86
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 87
        }
26418 tejbeer 88
 
30017 amit.gupta 89
        function getWarehouseBrandStock(warehouseId) {
32177 amit.gupta 90
            doGetAjaxRequestHandler(context + "/getWarehouseWiseBrandStock?warehouseId=" + warehouseId,
36566 amit 91
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 92
        }
27529 tejbeer 93
 
30017 amit.gupta 94
        function getWarehouseWiseBrandPartnerSale(brand) {
95
            doGetAjaxRequestHandler(context + "/getWarehouseWiseBrandPartnerSale?brand=" + brand,
36566 amit 96
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 97
        }
98
 
99
        function getWarehouseWiseBrandActivatedModel(brand) {
100
            doGetAjaxRequestHandler(context + "/getActivatedModelWarehouseWise?brand=" + brand,
36566 amit 101
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 102
        }
103
 
104
        function getWarehouseWiseAccessoriesBrandPartnerSale(brand) {
105
            doGetAjaxRequestHandler(context + "/getWarehouseWiseAccesoriesBrandPartnerSale?brand=" + brand,
36566 amit 106
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 107
        }
108
 
109
        function getWarehouseWiseData() {
110
            doGetAjaxRequestHandler(context + "/getWarehouseWiseData",
36195 vikas 111
                function (response) {
36566 amit 112
                    $('#main-content').html(response);
36195 vikas 113
                    if (response == 'true') {
114
                        window.location.href = $('.dashboardload').attr('href');
115
                    }
116
                });
30017 amit.gupta 117
        }
118
 
119
        function getPartnersStat() {
120
            doGetAjaxRequestHandler(context + "/getPartnersStatData",
36566 amit 121
                function (response) {
122
                    if (response == 'true') {
123
                        window.location.href = $('.dashboardload').attr('href');
124
                    }
125
                });
30017 amit.gupta 126
        }
127
    </script>
128
 
129
 
28451 tejbeer 130
</head>
26010 amit.gupta 131
 
36566 amit 132
<body>
32798 shampa 133
<div class="loading"><img src="resources/images/icons/loading.gif"></div>
30017 amit.gupta 134
<!-- container section start -->
135
<section id="container">
28451 tejbeer 136
 
137
 
30017 amit.gupta 138
    <header class="header dark-bg">
139
        <div class="toggle-nav">
140
            <div class="icon-reorder tooltips"
141
                 data-original-title="Toggle Navigation" data-placement="bottom">
142
                <i class="icon_menu"></i>
143
            </div>
144
        </div>
145
        <div class="top-nav notification-row">
32886 shampa 146
            <!-- notification dropdown start-->
30017 amit.gupta 147
            <ul class="nav pull-right top-menu">
148
                <!-- user login dropdown start-->
149
                <li class="dropdown"><a data-toggle="dropdown"
150
                                        class="dropdown-toggle" href="#"> <span class="profile-ava">
28451 tejbeer 151
								<img class="avatar-custom" id="photo" alt="" src="">
152
						</span> <span class="username" id="fofo_name"></span> <b class="caret"></b>
30017 amit.gupta 153
                </a>
154
                    <ul class="dropdown-menu extended logout">
155
                        <li class="eborder-top"><a class="change-auth-user-password"
36566 amit 156
                                                   href="javascript:void(0);">Change Password</a></li>
157
                        <li><a href="${rc.contextPath}/mobileapp"><i class="icon_key_alt"></i>SD Mobile App</a></li>
37006 ranu 158
                        <li><a href="${rc.contextPath}/mobileapp?appType=react"><i class="icon_key_alt"></i>SD Mobile
159
                            App V2</a></li>
33061 ranu 160
                        <li><a href="javascript:void(0);" onclick="signOut();"><i
36566 amit 161
                                class="icon_key_alt"></i> Log Out</a></li>
30017 amit.gupta 162
                    </ul>
163
                </li>
164
                <!-- user login dropdown end -->
165
            </ul>
166
            <!-- notificatoin dropdown end-->
167
        </div>
168
    </header>
169
    <!--header end-->
28451 tejbeer 170
 
33731 tejus.loha 171
    <!--sidebar start this-->
30017 amit.gupta 172
    <aside>
173
        <div id="sidebar" class="nav-collapse ">
174
            <!-- sidebar menu start-->
36681 ranu 175
            <ul class="sidebar-menu" style="padding-bottom:80px;">
36597 amit 176
                <li>
177
                    <a href="${rc.contextPath}/dashboard">
178
                        <i class="fa fa-home"></i>
179
                        <span>HOME</span>
180
                    </a>
181
                </li>
30017 amit.gupta 182
                #foreach($menuItem in $menu)
183
                    <li class="sub-menu"><a href="javascript:;" class=""> <i
36566 amit 184
                            class="#if($menuItem.getIconClass() && $menuItem.getIconClass() != '')$menuItem.getIconClass()#else icon_document_alt#end"></i> <span>$menuItem.getDisplayText()</span>
30017 amit.gupta 185
                        <span class="menu-arrow arrow_carrot-right"></span>
186
                    </a>
187
                        <ul class="sub">
188
                            #foreach($subMenu in $menuItem.getSubMenus())
189
                                <li><a class="$subMenu.getActionClass()"
190
                                       href="javascript:void(0);">$subMenu.getDisplayText()</a></li> #end
191
                        </ul>
192
                    </li> #end
37331 amit 193
                ## Offer Circular Review: visibility is per-email, which auth.menu
194
                ## cannot express (it is role-driven), so this entry is gated here.
195
                ## The controller enforces the same allowlist server-side.
196
                #if($loginEmail && ($loginEmail == "tarun.verma@smartdukaan.com" || $loginEmail == "amit.gupta@smartdukaan.com" || $loginEmail == "alok.divedi@smartdukaan.com"))
197
                    <li class="sub-menu">
198
                        <a href="javascript:;"><i class="fa fa-tags"></i> <span>OFFER CIRCULAR</span>
199
                            <span class="menu-arrow arrow_carrot-right"></span>
200
                        </a>
201
                        <ul class="sub">
202
                            <li><a class="offer-circular-review" href="javascript:void(0);">Circular Review</a></li>
203
                        </ul>
204
                    </li>
205
                #end
30017 amit.gupta 206
            </ul>
207
            <!-- sidebar menu end-->
208
        </div>
209
    </aside>
210
    <!--sidebar end-->
26010 amit.gupta 211
 
30017 amit.gupta 212
    <!--main content start-->
213
    <section id="main-content">
214
        <section class="wrapper">
215
            <!--overview start-->
216
            <div class="row">
217
                <div class="col-lg-12">
218
                    <h3 class="page-header">
32771 raveendra. 219
                        <i class="fa fa-laptop"></i>
220
                        #springMessage("app.title")
30017 amit.gupta 221
                    </h3>
222
                    <ol class="breadcrumb">
36566 amit 223
                        <li><i class="fa fa-home"></i><a
33087 amit.gupta 224
                                href="${rc.contextPath}/dashboard">#springMessage("home.home")</a></li>
30017 amit.gupta 225
                        <li><i class="fa fa-laptop"></i>Dashboard</li>
226
                    </ol>
227
                </div>
228
            </div>
229
            <!-- overview end -->
28451 tejbeer 230
 
30017 amit.gupta 231
            #if($warehousePartnerDetailMap)
232
                <div class="row">
28451 tejbeer 233
 
30017 amit.gupta 234
                    <div class="col-lg-6">
28451 tejbeer 235
 
35560 ranu 236
                        <div class="row">
237
                            <div class="col-lg-7">
36566 amit 238
                                <h3 class="section-title mb-lg">
35560 ranu 239
                                    <strong>Partner Wise Report</strong>
240
                                </h3>
241
                            </div>
242
                            <div class="col-lg-5">
243
                                <span style="margin-right: 10px">Last Fetch :-  $rctPartneStat.getLastCreatedTimestamp().format($dateTimeFormatter)</span>
244
                            </div>
30017 amit.gupta 245
                        </div>
35560 ranu 246
 
30017 amit.gupta 247
                        <table class="table table-striped table-advance table-hover">
248
                            <tbody>
249
                            <tr>
250
                                <th>W/H Location</th>
251
                                <th>Partners</th>
252
                                <th>LMS</th>
253
                                <th>LMTD</th>
254
                                <th>MTD</th>
255
                                <th>Today Tertiary</th>
256
                                <th>Tickets</th>
257
                            </tr>
258
                                #foreach($name in $warehousePartnerDetailMap.keySet())
259
                                <tr onclick="getWarehousePartners($name)">
260
                                    <td>$warehouseMap.get($name)</td>
261
                                    <td>$warehousePartnerDetailMap.get($name).getCount()</td>
262
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getLms()</td>
263
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getLmtd()</td>
264
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getMtd()</td>
265
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getTodayTertiary()</td>
28451 tejbeer 266
 
30017 amit.gupta 267
                                    <td>$warehousePartnerDetailMap.get($name).getTicket()</td>
28451 tejbeer 268
 
30017 amit.gupta 269
                                </tr>
270
                                #end
28451 tejbeer 271
 
30017 amit.gupta 272
                            </tbody>
273
                        </table>
274
                    </div>
28451 tejbeer 275
 
35549 ranu 276
                    <div class="col-lg-6">
35560 ranu 277
                        <div class="row">
278
                            <div class="col-lg-7">
36566 amit 279
                                <h3 class="section-title mb-lg">
35560 ranu 280
                                    <strong>Warehouse Wise Report</strong>
281
                                </h3>
282
                            </div>
36566 amit 283
                            <div class="col-lg-5" class="pl-0">
35560 ranu 284
							<span>Last fetch :-
285
                                $reporticoDate.getLastCreatedTimestamp().format($dateTimeFormatter)</span>
286
                                <button class="btn btn-sm btn-primary fetchWarehouseData"
287
                                        onclick="getWarehouseWiseData()" type="button"><i class="fa fa-refresh"></i>
288
 
289
                                </button>
290
                            </div>
30017 amit.gupta 291
                        </div>
28451 tejbeer 292
 
37374 ranu 293
                        ## Brand filter — AJAX-swaps the tbody below. "All Brands" restores the original numbers.
294
                        <div class="row" style="margin: 0 0 8px 0;">
295
                            <div class="col-lg-6" style="padding-left:0;">
296
                                <select id="whrBrandFilter" class="form-control input-sm">
297
                                    <option value="">All Brands</option>
298
                                    #if($whrBrandList)
299
                                        #foreach($b in $whrBrandList)
300
                                            <option value="$b">$b</option>
301
                                        #end
302
                                    #end
303
                                </select>
304
                            </div>
305
                        </div>
35560 ranu 306
 
30017 amit.gupta 307
                        <table class="table table-striped table-advance table-hover">
37374 ranu 308
                            <tbody id="whrTableBody">
30017 amit.gupta 309
                            <tr>
310
                                <th>W/H Location</th>
311
                                <th>Total Stock</th>
312
                                <th>Total Value</th>
313
                                <th>Pending Indent</th>
314
                                <th>Tertiary</th>
315
                            </tr>
316
                                #foreach($key in $warehouseStockMap.keySet())
317
                                <tr
33087 amit.gupta 318
                                        onclick="getWarehouseBrandStock($warehouseStockMap.get($key).getWarehouseId())">
30017 amit.gupta 319
                                    <td>$warehouseMap.get($key)</td>
320
                                    #if($warehouseStockMap.get($key).getStockQty())
321
                                        <td>$warehouseStockMap.get($key).getStockQty()</td>
322
                                        <td class="currency">$warehouseStockMap.get($key).getStockValue()</td>
323
                                    #else
324
                                        <td>0</td>
325
                                        <td>0</td> #end
326
                                    #if($warehouseStockMap.get($key).getPendingIndent())
327
                                        <td>$warehouseStockMap.get($key).getPendingIndent()</td> #else
328
                                        <td>0</td> #end
329
                                    <td>$warehouseStockMap.get($key).getTertiary()</td>
330
                                </tr>
331
                                #end
332
                            </tbody>
333
                        </table>
37374 ranu 334
 
335
                        <script>
336
                            (function () {
337
                                var whrSelect = document.getElementById('whrBrandFilter');
338
                                if (!whrSelect) return;
339
                                var whrCtx = "${rc.contextPath}";
340
                                whrSelect.addEventListener('change', function () {
341
                                    var brand = this.value;
342
                                    var url = whrCtx + '/getWarehouseStockByBrand';
343
                                    if (brand) url += '?brand=' + encodeURIComponent(brand);
344
                                    doGetAjaxRequestHandler(url, function (response) {
345
                                        var tbody = document.getElementById('whrTableBody');
346
                                        if (tbody && response) {
347
                                            tbody.innerHTML = response;
348
                                            if (typeof formatCurrency === 'function') formatCurrency();
349
                                        }
350
                                    });
351
                                });
352
                            })();
353
                        </script>
30017 amit.gupta 354
                    </div>
355
                </div>
356
            #end
28451 tejbeer 357
 
36566 amit 358
 
30017 amit.gupta 359
            <div class="row">
28451 tejbeer 360
 
361
 
35549 ranu 362
                <div class="col-lg-6">
28451 tejbeer 363
 
35583 ranu 364
 
35549 ranu 365
                    <div class="team-messages">
35583 ranu 366
                        <h3 class="tm-title">Bulletin <span class="tm-subtitle"> (Today Important Updates)</span> <input
367
                                type="date" id="bulletinDate" style="float:right;"></h3>
368
 
36566 amit 369
                        <hr class="divider">
35583 ranu 370
                        <div id="bulletin-list-container">
371
                            #parse("bulletin-list.vm")
35549 ranu 372
                        </div>
29137 manish 373
                    </div>
35549 ranu 374
                </div>
375
 
376
 
30017 amit.gupta 377
                #if($warehousePartnerDetailMap)
378
                    <div class="col-lg-6">
36566 amit 379
                        <ul class="nav nav-tabs" class="m-sm">
30017 amit.gupta 380
                            <li class="mobile_based"><a class="ba">Mobile</a></li>
381
                            <li class="accessories_based"><a class="la">Accessories</a></li>
382
                            <li class="activation_summary"><a class="as">Activation Summary</a></li>
383
                            <li class="activation_updation"><a class="au">Activation Updation</a></li>
28461 tejbeer 384
 
385
 
30017 amit.gupta 386
                        </ul>
28461 tejbeer 387
 
388
 
36566 amit 389
                        <div class="row reportContainer" class="m-sm"></div>
28451 tejbeer 390
 
30017 amit.gupta 391
                    </div>
28451 tejbeer 392
 
393
 
394
 
30017 amit.gupta 395
                #end
28451 tejbeer 396
 
30017 amit.gupta 397
            </div>
32177 amit.gupta 398
 
33087 amit.gupta 399
            <div class="row">
31259 tejbeer 400
 
401
 
33087 amit.gupta 402
                <div class="col-lg-6">
31259 tejbeer 403
 
32177 amit.gupta 404
 
36566 amit 405
                    <div class="row" class="ml-sm">
406
                        <h3 class="section-title mb-sm">
33087 amit.gupta 407
                            <strong>Sale MileStone</strong>
408
                        </h3>
409
                    </div>
31268 tejbeer 410
 
36566 amit 411
                    <div class="row saleMilestoneContainer" class="m-sm"></div>
31259 tejbeer 412
 
413
 
33087 amit.gupta 414
                </div>
31273 tejbeer 415
 
416
 
33087 amit.gupta 417
                <div class="col-lg-6">
31259 tejbeer 418
 
419
 
36566 amit 420
                    <div class="row" class="ml-sm">
421
                        <h3 class="section-title mb-sm">
33087 amit.gupta 422
                            <strong>Purchase MileStone</strong>
423
                        </h3>
424
                    </div>
31273 tejbeer 425
 
36566 amit 426
                    <div class="row purchaseMilestoneContainer" class="m-sm"></div>
32177 amit.gupta 427
 
428
 
33087 amit.gupta 429
                </div>
31273 tejbeer 430
 
431
 
33087 amit.gupta 432
            </div>
32177 amit.gupta 433
 
434
 
30017 amit.gupta 435
            <div class="row">
436
                #if($authUserTicketCount)
29137 manish 437
 
30017 amit.gupta 438
                    <div class="col-lg-6">
439
                        <div class="row col-lg-8">
36566 amit 440
                            <h3 class="section-title mb-lg">
30017 amit.gupta 441
                                <strong>Auth User Tickets</strong>
442
                            </h3>
443
                        </div>
28451 tejbeer 444
 
30017 amit.gupta 445
                        <table class="table table-striped table-advance table-hover"
446
                               style="width: 65%">
447
                            <tbody>
448
                            <tr>
449
                                <th>Auth User</th>
450
                                <th>Tickets</th>
451
                            </tr>
452
                                #foreach($authUserTicket in $authUserTicketCount.entrySet())
453
                                <tr>
454
                                    <td>$authUserTicket.getKey().getName()</td>
455
                                    <td>$authUserTicket.getValue()</td>
456
                                </tr>
457
                                #end
458
                            </tbody>
459
                        </table>
28451 tejbeer 460
 
30017 amit.gupta 461
                    </div>
462
                #end
35320 ranu 463
                <div class="col-lg-6">
36566 amit 464
                    <h3 class="section-title mb-lg">
33087 amit.gupta 465
                        <strong>Loan Summary</strong>
466
                    </h3>
32172 jai.hind 467
 
33087 amit.gupta 468
                    <table class="table table-striped table-advance table-hover loan-summary-table"
469
                           style="width: 50%">
470
                        <tbody>
471
                        <thead>
472
                        <tr>
473
                            <th></th>
35335 ranu 474
                            <th>Count</th>
475
                            <th>Value</th>
33087 amit.gupta 476
                        </tr>
32197 jai.hind 477
 
33087 amit.gupta 478
                        </thead>
479
                        <tr>
32197 jai.hind 480
 
33087 amit.gupta 481
                            <th>Total Loan</th>
482
                            <td class="loan" data-type="TOTAL_LOAN" data-toggle="modal"
483
                                data-target="#loanSummaryModal">$loanSummary.getPendingLoansLoanAggregation().getPartnerCount()</td>
484
                            <td class="currency">$loanSummary.getPendingLoansLoanAggregation().getTotalValue()</td>
32197 jai.hind 485
 
33087 amit.gupta 486
                        </tr>
32197 jai.hind 487
 
33087 amit.gupta 488
                        <tr>
489
                            <th>Default Loan</th>
490
                            <td class="loan" data-type="DEFAULT_LOAN" data-toggle="modal"
491
                                data-target="#loanSummaryModal">$loanSummary.getDefaultLoansAggregation().getPartnerCount()</td>
492
                            <td class="currency">$loanSummary.getDefaultLoansAggregation().getTotalValue()</td>
493
                        </tr>
494
                        <tr>
495
                            <th>Due Loan</th>
496
                            <td class="loan" data-type="DUE_LOAN" data-toggle="modal"
497
                                data-target="#loanSummaryModal">$loanSummary.getDueLoansAggregation().getPartnerCount()</td>
498
                            <td class="currency">$loanSummary.getDueLoansAggregation().getTotalValue()</td>
499
                        </tr>
32197 jai.hind 500
 
33087 amit.gupta 501
                        </tbody>
502
                    </table>
35320 ranu 503
                </div>
35316 ranu 504
 
505
                <div class="col-lg-12">
506
                    <h3><strong>State wise loan summary</strong></h3>
507
                    <select id="stateDropdown" class="form-control" style="width:200px;">
508
                        <option value="">Select State</option>
509
                        #foreach($entry in $stateWiseLoanSummaryMap.entrySet())
510
                            <option value="$entry.key">$entry.key</option>
511
                        #end
512
                    </select>
513
                    <br/>
33087 amit.gupta 514
                </div>
35335 ranu 515
 
516
                <!-- ================= OVERALL SUMMARY ================= -->
35316 ranu 517
                <div class="col-lg-3">
35335 ranu 518
                    <div id="overallSummaryView" style="display:none;">
519
                        <table class="table table-striped table-hover loan-summary-table">
520
                            <thead>
521
                            <tr>
522
                                <th>Category</th>
523
                                <th>Count</th>
524
                                <th>Value</th>
525
                            </tr>
526
                            </thead>
527
                            <tbody>
528
                            <tr>
529
                                <th colspan="3">Overall
530
                                    <button class="btn btn-sm btn-primary pull-right" id="btnShow15"
531
                                            style="padding: 2px 4px;">Show 15-29
532
                                    </button>
533
                                </th>
534
                            </tr>
35316 ranu 535
 
35335 ranu 536
                            <tr>
537
                                <td>Pending</td>
538
                                <td id="total-pending-count"
539
                                    class="state-wise-loan"
540
                                    data-fromdays=""
541
                                    data-todays=""
542
                                    data-statename=""
543
                                    data-type="TOTAL_LOAN"
544
                                    data-toggle="modal"
545
                                    data-target="#loanSummaryModal"></td>
546
                                <td id="total-pending-value"></td>
547
                            </tr>
35316 ranu 548
 
35335 ranu 549
                            <tr>
550
                                <td>Default</td>
551
                                <td id="total-default-count"
552
                                    class="state-wise-loan"
553
                                    data-fromdays=""
554
                                    data-todays=""
555
                                    data-statename=""
556
                                    data-type="DEFAULT_LOAN"
557
                                    data-toggle="modal"
558
                                    data-target="#loanSummaryModal"></td>
559
                                <td id="total-default-value"></td>
560
                            </tr>
561
 
562
                            <tr>
563
                                <td>Due</td>
564
                                <td id="total-due-count"
565
                                    class="state-wise-loan"
566
                                    data-fromdays=""
567
                                    data-todays=""
568
                                    data-statename=""
569
                                    data-type="DUE_LOAN"
570
                                    data-toggle="modal"
571
                                    data-target="#loanSummaryModal"></td>
572
                                <td id="total-due-value"></td>
573
                            </tr>
574
 
575
                            </tbody>
576
                        </table>
577
                    </div>
578
 
579
                    <!-- ================= 15–29 DAYS ================= -->
580
                    <div id="days15View">
581
                        <table class="table table-striped table-hover loan-summary-table">
582
                            <thead>
583
                            <tr>
584
                                <th>Category</th>
585
                                <th>Count</th>
586
                                <th>Value</th>
587
                            </tr>
588
                            </thead>
589
 
590
                            <tbody>
591
                            <tr>
592
                                <th colspan="3">15-29 days
593
                                    <button class="btn btn-sm btn-primary pull-right" id="btnShowOverall"
594
                                            style="padding: 2px 4px;">Show Overall
595
                                    </button>
596
                                </th>
597
                            </tr>
598
 
599
                            <tr>
600
                                <td>Pending</td>
601
                                <td id="days15-pending-count"
602
                                    class="state-wise-loan"
603
                                    data-fromdays="15"
604
                                    data-todays="29"
605
                                    data-statename=""
606
                                    data-type="TOTAL_LOAN"
607
                                    data-toggle="modal"
608
                                    data-target="#loanSummaryModal"></td>
609
                                <td id="days15-pending-value"></td>
610
                            </tr>
611
 
612
                            <tr>
613
                                <td>Default</td>
614
                                <td id="days15-default-count"
615
                                    class="state-wise-loan"
616
                                    data-fromdays="15"
617
                                    data-todays="29"
618
                                    data-statename=""
619
                                    data-type="DEFAULT_LOAN"
620
                                    data-toggle="modal"
621
                                    data-target="#loanSummaryModal"></td>
622
                                <td id="days15-default-value"></td>
623
                            </tr>
624
 
625
                            <tr>
626
                                <td>Due</td>
627
                                <td id="days15-due-count"
628
                                    class="state-wise-loan"
629
                                    data-fromdays="15"
630
                                    data-todays="29"
631
                                    data-statename=""
632
                                    data-type="DUE_LOAN"
633
                                    data-toggle="modal"
634
                                    data-target="#loanSummaryModal"></td>
635
                                <td id="days15-due-value"></td>
636
                            </tr>
637
 
638
                            </tbody>
639
                        </table>
640
                    </div>
35316 ranu 641
                </div>
35335 ranu 642
 
643
 
644
                <!-- ================= 30–59 DAYS ================= -->
35316 ranu 645
                <div class="col-lg-3">
646
                    <table class="table table-striped table-hover loan-summary-table">
647
                        <thead>
648
                        <tr>
649
                            <th>Category</th>
35335 ranu 650
                            <th>Count</th>
651
                            <th>Value</th>
35316 ranu 652
                        </tr>
653
                        </thead>
654
 
655
                        <tbody>
656
                        <tr>
35335 ranu 657
                            <th colspan="3">30-59 days</th>
35316 ranu 658
                        </tr>
35335 ranu 659
 
35316 ranu 660
                        <tr>
661
                            <td>Pending</td>
35335 ranu 662
                            <td id="days30-pending-count"
663
                                class="state-wise-loan"
664
                                data-fromdays="30"
665
                                data-todays="59"
666
                                data-statename=""
667
                                data-type="TOTAL_LOAN"
668
                                data-toggle="modal"
35320 ranu 669
                                data-target="#loanSummaryModal"></td>
35316 ranu 670
                            <td id="days30-pending-value"></td>
671
                        </tr>
35335 ranu 672
 
35316 ranu 673
                        <tr>
674
                            <td>Default</td>
35335 ranu 675
                            <td id="days30-default-count"
676
                                class="state-wise-loan"
677
                                data-fromdays="30"
678
                                data-todays="59"
679
                                data-statename=""
680
                                data-type="DEFAULT_LOAN"
681
                                data-toggle="modal"
35320 ranu 682
                                data-target="#loanSummaryModal"></td>
35316 ranu 683
                            <td id="days30-default-value"></td>
684
                        </tr>
35335 ranu 685
 
35316 ranu 686
                        <tr>
687
                            <td>Due</td>
35335 ranu 688
                            <td id="days30-due-count"
689
                                class="state-wise-loan"
690
                                data-fromdays="30"
691
                                data-todays="59"
692
                                data-statename=""
693
                                data-type="DUE_LOAN"
694
                                data-toggle="modal"
35320 ranu 695
                                data-target="#loanSummaryModal"></td>
35316 ranu 696
                            <td id="days30-due-value"></td>
697
                        </tr>
35335 ranu 698
 
35316 ranu 699
                        </tbody>
700
                    </table>
701
                </div>
35335 ranu 702
 
703
                <!-- ================= 60–179 DAYS ================= -->
35316 ranu 704
                <div class="col-lg-3">
705
                    <table class="table table-striped table-hover loan-summary-table">
706
                        <thead>
707
                        <tr>
708
                            <th>Category</th>
35335 ranu 709
                            <th>Count</th>
710
                            <th>Value</th>
35316 ranu 711
                        </tr>
712
                        </thead>
713
 
714
                        <tbody>
715
                        <tr>
35335 ranu 716
                            <th colspan="3">60-179 days</th>
35316 ranu 717
                        </tr>
35335 ranu 718
 
35316 ranu 719
                        <tr>
720
                            <td>Pending</td>
35335 ranu 721
                            <td id="days60-pending-count"
722
                                class="state-wise-loan"
723
                                data-fromdays="60"
724
                                data-todays="179"
725
                                data-statename=""
726
                                data-type="TOTAL_LOAN"
727
                                data-toggle="modal"
35320 ranu 728
                                data-target="#loanSummaryModal"></td>
35316 ranu 729
                            <td id="days60-pending-value"></td>
730
                        </tr>
35335 ranu 731
 
35316 ranu 732
                        <tr>
733
                            <td>Default</td>
35335 ranu 734
                            <td id="days60-default-count"
735
                                class="state-wise-loan"
736
                                data-fromdays="60"
737
                                data-todays="179"
738
                                data-statename=""
739
                                data-type="DEFAULT_LOAN"
740
                                data-toggle="modal"
35320 ranu 741
                                data-target="#loanSummaryModal"></td>
35316 ranu 742
                            <td id="days60-default-value"></td>
743
                        </tr>
35335 ranu 744
 
35316 ranu 745
                        <tr>
746
                            <td>Due</td>
35335 ranu 747
                            <td id="days60-due-count"
748
                                class="state-wise-loan"
749
                                data-fromdays="60"
750
                                data-todays="179"
751
                                data-statename=""
752
                                data-type="DUE_LOAN"
753
                                data-toggle="modal"
35320 ranu 754
                                data-target="#loanSummaryModal"></td>
35316 ranu 755
                            <td id="days60-due-value"></td>
756
                        </tr>
35335 ranu 757
 
35316 ranu 758
                        </tbody>
759
                    </table>
760
                </div>
35335 ranu 761
 
762
                <!-- ================= 180+ DAYS ================= -->
35316 ranu 763
                <div class="col-lg-3">
764
                    <table class="table table-striped table-hover loan-summary-table">
765
                        <thead>
766
                        <tr>
767
                            <th>Category</th>
35335 ranu 768
                            <th>Count</th>
769
                            <th>Value</th>
35316 ranu 770
                        </tr>
771
                        </thead>
772
 
773
                        <tbody>
774
                        <tr>
35335 ranu 775
                            <th colspan="3">Above 180 days</th>
35316 ranu 776
                        </tr>
35335 ranu 777
 
35316 ranu 778
                        <tr>
779
                            <td>Pending</td>
35335 ranu 780
                            <td id="days180-pending-count"
781
                                class="state-wise-loan"
782
                                data-fromdays="180"
783
                                data-todays=""
784
                                data-statename=""
785
                                data-type="TOTAL_LOAN"
786
                                data-toggle="modal"
35320 ranu 787
                                data-target="#loanSummaryModal"></td>
35316 ranu 788
                            <td id="days180-pending-value"></td>
789
                        </tr>
35335 ranu 790
 
35316 ranu 791
                        <tr>
792
                            <td>Default</td>
35335 ranu 793
                            <td id="days180-default-count"
794
                                class="state-wise-loan"
795
                                data-fromdays="180"
796
                                data-todays=""
797
                                data-statename=""
798
                                data-type="DEFAULT_LOAN"
799
                                data-toggle="modal"
35320 ranu 800
                                data-target="#loanSummaryModal"></td>
35316 ranu 801
                            <td id="days180-default-value"></td>
802
                        </tr>
35335 ranu 803
 
35316 ranu 804
                        <tr>
805
                            <td>Due</td>
35335 ranu 806
                            <td id="days180-due-count"
807
                                class="state-wise-loan"
808
                                data-fromdays="180"
809
                                data-todays=""
810
                                data-statename=""
811
                                data-type="DUE_LOAN"
812
                                data-toggle="modal"
35320 ranu 813
                                data-target="#loanSummaryModal"></td>
35316 ranu 814
                            <td id="days180-due-value"></td>
815
                        </tr>
816
 
817
                        </tbody>
818
                    </table>
819
                </div>
35335 ranu 820
 
30017 amit.gupta 821
            </div>
822
            #if($authUserTicketCount)
823
                <div class="row">
824
                    <div class="col-lg-6">
28451 tejbeer 825
 
826
 
35560 ranu 827
                        <div class="row col-lg-12">
36566 amit 828
                            <h3 class="section-title">
30017 amit.gupta 829
                                <strong>Reports</strong>
830
                            </h3>
831
                        </div>
832
                        <div class="row col-lg-12 info-box white-bg">
36566 amit 833
                            <div class="list-group reports-table">
834
                                #foreach($reporticoProjectEntry in
835
                                    $reporticoProjectMap.entrySet()) #foreach($reporticoUrlInfo in
836
                                    $reporticoProjectEntry.getValue()) <a
837
                                        href="${rc.contextPath}/reports/${reporticoProjectEntry.getKey()}${reporticoUrlInfo.getUrl()}"
838
                                        class="list-group-item"
839
                                    #if($reporticoUrlInfo.getParamsList())
840
                                        data-paramslist="$vmUtils.htmlJson($reporticoUrlInfo.getParamsList())"
841
                                    #end>
842
                                    <h4 class="list-group-item-heading">$reporticoUrlInfo.getTitle()</h4>
843
                                    <p class="list-group-item-text">$reporticoUrlInfo.getDescription()</p>
844
                                </a> #end #end
845
                            </div>
28461 tejbeer 846
 
30017 amit.gupta 847
                        </div>
848
                    </div>
849
                    <div class="col-lg-6">
28451 tejbeer 850
 
851
 
35560 ranu 852
                        <div class="row info-box white-bg">
853
                            <div class="col-lg-7">
36566 amit 854
                                <h3 class="section-title">
30017 amit.gupta 855
                                    <strong>My Messages</strong>
856
                                </h3>
857
                            </div>
35560 ranu 858
                            <div class="col-lg-5">
36566 amit 859
                                <div class="btn-group message-filter" class="pull-right">
30017 amit.gupta 860
                                    <button data-messagetype="notification" type="button"
861
                                            class="btn btn-default" aria-label="Notifications"
862
                                            title="Notifications">
863
                                        <span class="glyphicon glyphicon-bell" aria-hidden="true"></span>
864
                                    </button>
865
                                    <button data-messagetype="announcement" type="button"
866
                                            class="btn btn-default" aria-label="Announcements"
867
                                            title="Announcements">
868
                                        <span class="glyphicon glyphicon-bullhorn" aria-hidden="true"></span>
869
                                    </button>
870
                                    <button data-messagetype="scheme" type="button"
871
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
872
                                            title="SmartDukaan Schemes">
873
                                        <span class="glyphicon glyphicon-tags" aria-hidden="true"></span>
874
                                    </button>
875
                                    <button data-messagetype="marketing" type="button"
876
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
877
                                            title="SmartDukaan Schemes">
878
                                        <span class="glyphicon glyphicon-picture" aria-hidden="true"></span>
879
                                    </button>
880
                                </div>
881
                            </div>
882
                            <div class="col-lg-12 row notification-container"
883
                                 style="max-height: 500px; overflow-y: scroll;"></div>
884
                        </div>
885
                    </div>
28461 tejbeer 886
 
30017 amit.gupta 887
                </div>
28461 tejbeer 888
 
889
 
30017 amit.gupta 890
            #end #if(!$authUserTicketCount)
28461 tejbeer 891
 
30017 amit.gupta 892
            <div class="row">
893
                <div class="col-lg-6">
894
                    <div class="row col-lg-4">
36566 amit 895
                        <h3 class="section-title">
30017 amit.gupta 896
                            <strong>Reports</strong>
897
                        </h3>
898
                    </div>
899
                    <div class="row col-lg-12 info-box white-bg">
900
                        <table class="table table-striped reports-table"
901
                               style="display: none">
902
                            <tbody>
903
                            <div class="list-group">
904
                                #foreach($reporticoProjectEntry in
905
                                    $reporticoProjectMap.entrySet()) #foreach($reporticoUrlInfo in
906
                                    $reporticoProjectEntry.getValue()) <a
907
                                        href="${rc.contextPath}/reports/${reporticoProjectEntry.getKey()}${reporticoUrlInfo.getUrl()}"
908
                                        class="list-group-item"
909
                                    #if($reporticoUrlInfo.getParamsList())
910
                                        data-paramslist="$vmUtils.htmlJson($reporticoUrlInfo.getParamsList())"
911
                                    #end>
912
                                    <h4 class="list-group-item-heading">$reporticoUrlInfo.getTitle()</h4>
913
                                    <p class="list-group-item-text">$reporticoUrlInfo.getDescription()</p>
914
                                </a> #end #end
915
                            </div>
916
                            </tbody>
917
                        </table>
28461 tejbeer 918
 
30017 amit.gupta 919
                    </div>
28461 tejbeer 920
 
30017 amit.gupta 921
                </div>
922
                <div class="col-lg-6">
923
                    <div class="col-lg-12">
924
                        <div class="row col-lg-12 info-box white-bg">
35560 ranu 925
                            <div class="col-lg-7">
36566 amit 926
                                <h3 class="section-title">
30017 amit.gupta 927
                                    <strong>My Messages</strong>
928
                                </h3>
929
                            </div>
35560 ranu 930
                            <div class="col-lg-5">
36566 amit 931
                                <div class="btn-group message-filter" class="pull-right">
30017 amit.gupta 932
                                    <button data-messagetype="notification" type="button"
933
                                            class="btn btn-default" aria-label="Notifications"
934
                                            title="Notifications">
935
                                        <span class="glyphicon glyphicon-bell" aria-hidden="true"></span>
936
                                    </button>
937
                                    <button data-messagetype="announcement" type="button"
938
                                            class="btn btn-default" aria-label="Announcements"
939
                                            title="Announcements">
940
                                        <span class="glyphicon glyphicon-bullhorn" aria-hidden="true"></span>
941
                                    </button>
942
                                    <button data-messagetype="scheme" type="button"
943
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
944
                                            title="SmartDukaan Schemes">
945
                                        <span class="glyphicon glyphicon-tags" aria-hidden="true"></span>
946
                                    </button>
947
                                    <button data-messagetype="marketing" type="button"
948
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
949
                                            title="SmartDukaan Schemes">
950
                                        <span class="glyphicon glyphicon-picture" aria-hidden="true"></span>
951
                                    </button>
952
                                </div>
953
                            </div>
954
                            <div class="col-lg-12 row notification-container"
955
                                 style="max-height: 500px; overflow-y: scroll;"></div>
956
                        </div>
957
                    </div>
958
                </div>
959
            </div>
28461 tejbeer 960
 
30017 amit.gupta 961
        #end
962
        </section>
963
        <div class="text-center">
964
            <div class="credits">
36566 amit 965
                <p>All rights reserved. &copy; Smart Dukaan</p>
30017 amit.gupta 966
            </div>
967
        </div>
968
    </section>
26010 amit.gupta 969
 
30017 amit.gupta 970
    <script type="text/javascript">
971
        context = "${rc.contextPath}";
972
        webApiScheme = "$webApiScheme";
973
        webApiRoot = "$webApiRoot";
974
        webApiHost = "$webApiHost";
975
        webApiPort = "$webApiPort";
35606 amit 976
        #if($retailers)
977
        retailers = $retailers;
978
        #end
979
        #if($warehouses)
980
        warehouses = $warehouses;
981
        #end
982
        #if($authId)
983
        authId = $authId;
984
        #end
30017 amit.gupta 985
    </script>
986
    #parse("include-scripts.vm")
28451 tejbeer 987
 
35396 amit 988
        <script>
989
            $(function () {
36566 amit 990
                $.fn.dataTable.moment('DD/MM/YYYY');
991
                $.fn.dataTable.moment('DD/MM/YYYY hh:mm');
992
                $('.currency').each(function (index, ele) {
993
                    if (!isNaN(parseInt($(ele).html()))) {
994
                        $(ele).html(numberToComma($(ele).html()));
995
                    }
996
                });
28461 tejbeer 997
 
36566 amit 998
                var profile = localStorage.getItem('profile');
999
                if (profile) {
1000
                    $("#photo").attr("src", JSON.parse(profile).image_url);
1001
                    $("#fofo_name").text(JSON.parse(profile).name);
1002
                } else {
1003
                    $("#photo").attr("src", "");
1004
                    $("#fofo_name").text("Welcome, User");
1005
                }
28461 tejbeer 1006
 
36566 amit 1007
                loaderDialogObj = bootbox.dialog({
1008
                    message: '<div class="container text-center"><i class="fa fa-spin fa-spinner"></i>Loading...</div>',
1009
                    show: false
1010
                });
30017 amit.gupta 1011
            });
29137 manish 1012
 
35396 amit 1013
            $(document).ready(function () {
29137 manish 1014
 
30017 amit.gupta 1015
            $(".mobile_based").click();
29137 manish 1016
 
30017 amit.gupta 1017
            $('div.message-filter').on('click', 'button', function () {
35396 amit 1018
            messageType = $(this).data("messagetype");
1019
            if ($(this).hasClass('btn-pressed')) {
1020
            messageType = "";
1021
            $('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
1022
        } else {
1023
            $('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
1024
            $(this).addClass('btn-pressed').removeClass('btn-default');
1025
        }
1026
            notifyTypeChange(messageType);
1027
        });
30017 amit.gupta 1028
            notifyTypeChange("");
1029
        });
28451 tejbeer 1030
 
30017 amit.gupta 1031
 
35396 amit 1032
            $(document).on("click", ".mobile_based",
1033
            function () {
30017 amit.gupta 1034
 
35396 amit 1035
            $(".ba").css("color", "blue");
1036
            $(".ba").css("background-color", "white");
1037
            $(".la").css("color", "white");
1038
            $(".la").css("background-color", "#C0C0C0");
1039
            $(".as").css("color", "white");
1040
            $(".as").css("background-color", "#C0C0C0");
30017 amit.gupta 1041
 
35396 amit 1042
            $(".au").css("color", "white");
1043
            $(".au").css("background-color", "#C0C0C0");
30017 amit.gupta 1044
 
35396 amit 1045
            doGetAjaxRequestHandler(context + "/getMobileBrandWise", function (response) {
1046
            $('.reportContainer').html(response);
1047
        });
1048
        });
30017 amit.gupta 1049
 
35396 amit 1050
            $(document).on("click", ".accessories_based",
1051
            function () {
30017 amit.gupta 1052
 
35396 amit 1053
            $(".ba").css("color", "white");
1054
            $(".ba").css("background-color", "#C0C0C0");
1055
            $(".la").css("color", "blue");
1056
            $(".la").css("background-color", "white");
1057
            $(".as").css("color", "white");
1058
            $(".as").css("background-color", "#C0C0C0");
30017 amit.gupta 1059
 
35396 amit 1060
            $(".au").css("color", "white");
1061
            $(".au").css("background-color", "#C0C0C0");
1062
            doGetAjaxRequestHandler(context + "/getAccessoriesBrandWise", function (response) {
1063
            $('.reportContainer').html(response);
1064
        });
1065
        });
30017 amit.gupta 1066
 
1067
 
35396 amit 1068
            $(document).on("click", ".activation_summary",
1069
            function () {
30017 amit.gupta 1070
 
35396 amit 1071
            $(".as").css("color", "blue");
1072
            $(".as").css("background-color", "white");
1073
            $(".ba").css("color", "white");
1074
            $(".ba").css("background-color", "#C0C0C0");
1075
            $(".la").css("color", "white");
1076
            $(".la").css("background-color", "#C0C0C0");
30017 amit.gupta 1077
 
35396 amit 1078
            $(".au").css("color", "white");
1079
            $(".au").css("background-color", "#C0C0C0");
1080
            doGetAjaxRequestHandler(context + "/getActivatedModelByBrand", function (response) {
1081
            $('.reportContainer').html(response);
1082
        });
1083
        });
30017 amit.gupta 1084
 
1085
 
35396 amit 1086
            $(document).on("click", ".activation_updation",
1087
            function () {
30017 amit.gupta 1088
 
35396 amit 1089
            $(".as").css("color", "white");
1090
            $(".as").css("background-color", "#C0C0C0");
1091
            $(".au").css("color", "blue");
1092
            $(".au").css("background-color", "white");
1093
            $(".ba").css("color", "white");
1094
            $(".ba").css("background-color", "#C0C0C0");
30017 amit.gupta 1095
 
35396 amit 1096
            $(".la").css("color", "white");
1097
            $(".la").css("background-color", "#C0C0C0");
1098
            doGetAjaxRequestHandler(context + "/getActivatedImeiUpdationDate", function (response) {
1099
            $('.reportContainer').html(response);
1100
        });
1101
        });
30017 amit.gupta 1102
 
1103
 
35396 amit 1104
            doGetAjaxRequestHandler(context + "/getSaleCountByMilestone", function (response) {
31259 tejbeer 1105
            $('.saleMilestoneContainer').html(response);
1106
        });
33087 amit.gupta 1107
 
35396 amit 1108
            doGetAjaxRequestHandler(context + "/getPurchaseCountByMileStone", function (response) {
31273 tejbeer 1109
            $('.purchaseMilestoneContainer').html(response);
1110
        });
35396 amit 1111
            doGetAjaxRequestHandler(context + "/getMobileLMSFilter", function (response) {
30601 amit.gupta 1112
            $('.chartfilterlmsContainer').html(response);
1113
        });
30017 amit.gupta 1114
 
1115
 
35396 amit 1116
            $('.loan-summary-table').on('click', '.loan', function () {
32197 jai.hind 1117
            console.log($(this));
1118
            let loanSummaryType = $(this).data("type");
1119
            doGetAjaxRequestHandler(`${context}/getPartnerWiseLoanSummary?loanSummaryType=${loanSummaryType}`, function (response) {
35396 amit 1120
            $('#loanSummaryModal .modal-content').html(response);
32197 jai.hind 1121
        });
35396 amit 1122
        });
32197 jai.hind 1123
 
35396 amit 1124
            $(document).on('click', ".brand_month_sales", function () {
30601 amit.gupta 1125
            $(".bms").css("color", "blue");
1126
            $(".bms").css("background-color", "white");
1127
            $(".bmp").css("color", "white");
1128
            $(".bmp").css("background-color", "#C0C0C0");
1129
            var warehouseId = $('#warehouseMap').val();
1130
            var filterType = $('#monthDateFilter').val();
30017 amit.gupta 1131
 
30601 amit.gupta 1132
            var fofoIds = $('#fofo-users').val();
34973 aman 1133
            if (typeof fofoIds === 'string') {
35396 amit 1134
            fofoIds = fofoIds.split(',').map(id => parseInt(id.trim()));
1135
        }
34973 aman 1136
            const data = {
35396 amit 1137
            warehouseId: warehouseId,
1138
            date: getDatesFromPicker($('input[name="dateRange"]')).startDate,
1139
            endDate: getDatesFromPicker($('input[name="dateRange"]')).endDate,
1140
            fofoIds: fofoIds,
1141
            filterType: filterType
1142
        };
30017 amit.gupta 1143
 
34973 aman 1144
            doPostAjaxRequestWithJsonHandler(context + "/getMobileLMSGraph", JSON.stringify(data), function (response) {
35396 amit 1145
            $('.chartLmsContainer').html(response);
30601 amit.gupta 1146
        });
35396 amit 1147
        });
30017 amit.gupta 1148
 
35396 amit 1149
            $('#fofo-users').multiselect({
30017 amit.gupta 1150
            includeSelectAllOption: true,
1151
            multiple: true,
1152
            maxHeight: 200,
1153
            buttonWidth: '180px',
1154
            numberDisplayed: 1,
1155
            nonSelectedText: 'Users',
1156
            nSelectedText: ' - Users Selected',
1157
            allSelectedText: 'All Users Selected',
1158
            enableFiltering: true,
1159
            enableCaseInsensitiveFiltering: true
1160
        });
1161
 
35396 amit 1162
            function changelanguage(val) {
33087 amit.gupta 1163
            console.log(val);
1164
            document.documentElement.setAttribute('lang', val)
1165
            var url = window.location.host;
1166
            alert(url);
1167
            //var path = window.location.path;
1168
            alert(path);
1169
            //window.location.href =url+"/dashboard?lang="+val;
1170
            window.open(url + "/dashboard?lang=" + val, "_self");
32771 raveendra. 1171
        }
1172
 
30017 amit.gupta 1173
    </script>
35316 ranu 1174
 
1175
    <script>
1176
        var stateLoanData = {
1177
            #foreach($entry in $stateWiseLoanSummaryMap.entrySet())
1178
                "$entry.key": {
1179
 
35335 ranu 1180
                    // ------------------- Main Summary -------------------
35316 ranu 1181
                    pendingLoans: {
1182
                        partnerCount: $entry.value.pendingLoansLoanAggregation.partnerCount,
1183
                        totalValue: $entry.value.pendingLoansLoanAggregation.totalValue
1184
                    },
1185
                    defaultLoans: {
1186
                        partnerCount: $entry.value.defaultLoansAggregation.partnerCount,
1187
                        totalValue: $entry.value.defaultLoansAggregation.totalValue
1188
                    },
1189
                    dueLoans: {
1190
                        partnerCount: $entry.value.dueLoansAggregation.partnerCount,
1191
                        totalValue: $entry.value.dueLoansAggregation.totalValue
1192
                    },
1193
 
35335 ranu 1194
                    // ------------------ 15–29 Days -------------------
1195
                    range15to29: {
35316 ranu 1196
                        pending: {
35335 ranu 1197
                            partnerCount: $entry.value.range15to29.pending.partnerCount,
1198
                            totalValue: $entry.value.range15to29.pending.totalValue
35316 ranu 1199
                        },
1200
                        defaults: {
35335 ranu 1201
                            partnerCount: $entry.value.range15to29.defaults.partnerCount,
1202
                            totalValue: $entry.value.range15to29.defaults.totalValue
35316 ranu 1203
                        },
1204
                        dues: {
35335 ranu 1205
                            partnerCount: $entry.value.range15to29.dues.partnerCount,
1206
                            totalValue: $entry.value.range15to29.dues.totalValue
35316 ranu 1207
                        }
1208
                    },
1209
 
35335 ranu 1210
                    // ------------------ 30–59 Days -------------------
1211
                    range30to59: {
35316 ranu 1212
                        pending: {
35335 ranu 1213
                            partnerCount: $entry.value.range30to59.pending.partnerCount,
1214
                            totalValue: $entry.value.range30to59.pending.totalValue
35316 ranu 1215
                        },
1216
                        defaults: {
35335 ranu 1217
                            partnerCount: $entry.value.range30to59.defaults.partnerCount,
1218
                            totalValue: $entry.value.range30to59.defaults.totalValue
35316 ranu 1219
                        },
1220
                        dues: {
35335 ranu 1221
                            partnerCount: $entry.value.range30to59.dues.partnerCount,
1222
                            totalValue: $entry.value.range30to59.dues.totalValue
35316 ranu 1223
                        }
1224
                    },
1225
 
35335 ranu 1226
                    // ------------------ 60–179 Days -------------------
1227
                    range60to179: {
35316 ranu 1228
                        pending: {
35335 ranu 1229
                            partnerCount: $entry.value.range60to179.pending.partnerCount,
1230
                            totalValue: $entry.value.range60to179.pending.totalValue
35316 ranu 1231
                        },
1232
                        defaults: {
35335 ranu 1233
                            partnerCount: $entry.value.range60to179.defaults.partnerCount,
1234
                            totalValue: $entry.value.range60to179.defaults.totalValue
35316 ranu 1235
                        },
1236
                        dues: {
35335 ranu 1237
                            partnerCount: $entry.value.range60to179.dues.partnerCount,
1238
                            totalValue: $entry.value.range60to179.dues.totalValue
35316 ranu 1239
                        }
35335 ranu 1240
                    },
1241
 
1242
                    // ------------------ 180+ Days -------------------
1243
                    range180Plus: {
1244
                        pending: {
1245
                            partnerCount: $entry.value.range180Plus.pending.partnerCount,
1246
                            totalValue: $entry.value.range180Plus.pending.totalValue
1247
                        },
1248
                        defaults: {
1249
                            partnerCount: $entry.value.range180Plus.defaults.partnerCount,
1250
                            totalValue: $entry.value.range180Plus.defaults.totalValue
1251
                        },
1252
                        dues: {
1253
                            partnerCount: $entry.value.range180Plus.dues.partnerCount,
1254
                            totalValue: $entry.value.range180Plus.dues.totalValue
1255
                        }
35316 ranu 1256
                    }
1257
 
1258
                }#if($foreach.hasNext),#end
1259
            #end
1260
        };
1261
 
1262
        $(document).ready(function () {
1263
 
1264
            var defaultState = "Delhi";
1265
 
1266
            setTimeout(function () {
1267
                if (stateLoanData[defaultState]) {
1268
                    $("#stateDropdown").val(defaultState);
1269
                    $("#stateDropdown").trigger("change");
1270
                }
1271
            }, 100);
1272
 
1273
            $("#stateDropdown").on("change", function () {
1274
 
1275
                var selectedState = $(this).val();
1276
 
1277
                if (!selectedState) {
1278
                    $("td[id]").text("");
1279
                    return;
1280
                }
1281
 
1282
                var data = stateLoanData[selectedState];
1283
 
35320 ranu 1284
                $(".state-wise-loan").attr("data-statename", selectedState);
1285
 
35335 ranu 1286
                // ---------------- Main Summary ----------------
35316 ranu 1287
                $("#total-pending-count").text(data.pendingLoans.partnerCount);
1288
                $("#total-pending-value").text(Number(data.pendingLoans.totalValue).toFixed(2));
1289
 
1290
                $("#total-default-count").text(data.defaultLoans.partnerCount);
1291
                $("#total-default-value").text(Number(data.defaultLoans.totalValue).toFixed(2));
1292
 
1293
                $("#total-due-count").text(data.dueLoans.partnerCount);
1294
                $("#total-due-value").text(Number(data.dueLoans.totalValue).toFixed(2));
1295
 
35335 ranu 1296
                // ---------------- 15–29 Days ----------------
1297
                $("#days15-pending-count").text(data.range15to29.pending.partnerCount);
1298
                $("#days15-pending-value").text(Number(data.range15to29.pending.totalValue).toFixed(2));
35316 ranu 1299
 
35335 ranu 1300
                $("#days15-default-count").text(data.range15to29.defaults.partnerCount);
1301
                $("#days15-default-value").text(Number(data.range15to29.defaults.totalValue).toFixed(2));
35316 ranu 1302
 
35335 ranu 1303
                $("#days15-due-count").text(data.range15to29.dues.partnerCount);
1304
                $("#days15-due-value").text(Number(data.range15to29.dues.totalValue).toFixed(2));
35316 ranu 1305
 
35335 ranu 1306
                // ---------------- 30–59 Days ----------------
1307
                $("#days30-pending-count").text(data.range30to59.pending.partnerCount);
1308
                $("#days30-pending-value").text(Number(data.range30to59.pending.totalValue).toFixed(2));
35316 ranu 1309
 
35335 ranu 1310
                $("#days30-default-count").text(data.range30to59.defaults.partnerCount);
1311
                $("#days30-default-value").text(Number(data.range30to59.defaults.totalValue).toFixed(2));
35316 ranu 1312
 
35335 ranu 1313
                $("#days30-due-count").text(data.range30to59.dues.partnerCount);
1314
                $("#days30-due-value").text(Number(data.range30to59.dues.totalValue).toFixed(2));
35316 ranu 1315
 
35335 ranu 1316
                // ---------------- 60–179 Days ----------------
1317
                $("#days60-pending-count").text(data.range60to179.pending.partnerCount);
1318
                $("#days60-pending-value").text(Number(data.range60to179.pending.totalValue).toFixed(2));
35316 ranu 1319
 
35335 ranu 1320
                $("#days60-default-count").text(data.range60to179.defaults.partnerCount);
1321
                $("#days60-default-value").text(Number(data.range60to179.defaults.totalValue).toFixed(2));
35316 ranu 1322
 
35335 ranu 1323
                $("#days60-due-count").text(data.range60to179.dues.partnerCount);
1324
                $("#days60-due-value").text(Number(data.range60to179.dues.totalValue).toFixed(2));
1325
 
1326
                // ---------------- 180+ Days ----------------
1327
                $("#days180-pending-count").text(data.range180Plus.pending.partnerCount);
1328
                $("#days180-pending-value").text(Number(data.range180Plus.pending.totalValue).toFixed(2));
1329
 
1330
                $("#days180-default-count").text(data.range180Plus.defaults.partnerCount);
1331
                $("#days180-default-value").text(Number(data.range180Plus.defaults.totalValue).toFixed(2));
1332
 
1333
                $("#days180-due-count").text(data.range180Plus.dues.partnerCount);
1334
                $("#days180-due-value").text(Number(data.range180Plus.dues.totalValue).toFixed(2));
1335
 
35316 ranu 1336
            });
1337
 
1338
        });
1339
 
1340
 
35320 ranu 1341
        $('.loan-summary-table').on('click', '.state-wise-loan', function () {
1342
            console.log($(this));
1343
            let loanSummaryType = $(this).data("type");
35324 ranu 1344
            let stateName = $("#stateDropdown").val();
35335 ranu 1345
            let fromDays = $(this).data("fromdays");
1346
            let toDays = $(this).data("todays");
1347
            doGetAjaxRequestHandler(`${context}/getPartnerStateWiseLoanSummary?loanSummaryType=${loanSummaryType}&stateName=${stateName}&fromDays=${fromDays}&toDays=${toDays}`, function (response) {
35320 ranu 1348
                $('#loanSummaryModal .modal-content').html(response);
1349
            });
1350
        });
35335 ranu 1351
        // Show 15–29 days view
1352
        $("#btnShow15").click(function () {
1353
            $("#overallSummaryView").hide();
1354
            $("#days15View").show();
1355
        });
35320 ranu 1356
 
35335 ranu 1357
        // Show overall view
1358
        $("#btnShowOverall").click(function () {
1359
            $("#days15View").hide();
1360
            $("#overallSummaryView").show();
1361
        });
35320 ranu 1362
 
35335 ranu 1363
 
35316 ranu 1364
    </script>
1365
 
30017 amit.gupta 1366
    <div id="report-modal" class="modal" role="dialog"
1367
         data-backdrop="static" data-keyboard="false">
1368
        <div class="modal-dialog">
1369
 
1370
            <!-- Modal content-->
1371
            <div class="modal-content">
1372
                <div class="modal-header">
1373
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
1374
                    <h4 class="modal-title"></h4>
1375
                </div>
1376
                <div class="modal-body"></div>
1377
                <div class="modal-footer">
1378
                    <button type="button" data-dismiss="modal"
1379
                            class="btn btn-default download-report">Download
1380
                    </button>
1381
                </div>
1382
            </div>
1383
        </div>
1384
    </div>
30601 amit.gupta 1385
</section>
32197 jai.hind 1386
 
33087 amit.gupta 1387
<div id="loanSummaryModal" class="modal" role="dialog">
1388
    <div class="modal-dialog modal-lg">
1389
        <div class="modal-content"></div>
32197 jai.hind 1390
 
1391
    </div>
33087 amit.gupta 1392
</div>
35549 ranu 1393
 
1394
<div class="modal" id="todayBulletinOfferDescription">
1395
    <div class="modal-dialog modal-lg">
1396
        <div class="modal-content">
1397
        </div>
1398
    </div>
1399
</div>
1400
 
35583 ranu 1401
<script>
1402
    function refreshBulletinsList() {
1403
        var selectedDate = $('#bulletinDate').val();
1404
        $.ajax({
1405
            url: context + "/dasboard/getDateWiseBulletins",
1406
            type: "GET",
1407
            data: {date: selectedDate},
1408
            success: function (response) {
1409
                $('#bulletin-list-container').fadeOut(200, function () {
1410
                    $(this).html(response).fadeIn(200);
1411
                });
1412
            },
1413
            error: function () {
1414
                alert("Failed to load bulletins");
1415
            }
1416
        });
1417
    }
1418
    $('#bulletinDate').on('change', refreshBulletinsList);
1419
    $(document).ready(function () {
1420
        let today = new Date().toISOString().split('T')[0];
1421
        $('#bulletinDate').val(today);
1422
        refreshBulletinsList();
1423
    });
36566 amit 1424
</script>
35583 ranu 1425
 
36566 amit 1426
</body>
1427
</html>