Subversion Repositories SmartDukaan

Rev

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