Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
31860 tejbeer 1
<!doctype html>
2
<html lang="en">
3
 
4
<head>
5
    <!-- Required meta tags -->
6
    <meta charset="utf-8">
7
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
35064 aman 8
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>
31860 tejbeer 9
 
10
 
11
    <!-- Bootstrap CSS -->
12
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/css/bootstrap.min.css"
35064 aman 13
          integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
34590 ranu 14
 
15
 
35064 aman 16
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
17
            integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
18
            crossorigin="anonymous"></script>
19
 
20
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js"
21
            integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
22
            crossorigin="anonymous"></script>
23
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js"
24
            integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
25
            crossorigin="anonymous"></script>
26
 
27
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
28
    <script type="text/javascript" src="resources/js/common.js?v=${version}"></script>
29
 
30
    <script type="text/javascript" src="resources/js/retailer.js?v=${version}"></script>
31
 
32
    <script type="text/javascript">
33
        function numberToComma(x) {
34
 
35
            x = x.toString();
36
            x = x.split('.');
37
            var x1 = x[0];
38
            var x2 = x.length > 1 && x[1] != '0' ? '.' + x[1] : '';
39
            var lastThree = x1.substring(x1.length - 3);
40
            var otherNumbers = x1.substring(0, x1.length - 3);
41
            if (x1.charAt(x1.length - 4) == ',' || x1.charAt(x1.length - 4) == '-') {
42
                console.log(lastThree)
43
            } else {
44
                if (otherNumbers != '')
45
                    lastThree = ',' + lastThree;
46
            }
47
            return otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + (lastThree)
48
                    + x2;
49
 
50
        }
51
 
52
        $(document).ready(function () {
53
            $('.currency').each(function (index, ele) {
54
                if (!isNaN(parseInt($(ele).html()))) {
55
                    $(ele).html(numberToComma($(ele).html()));
56
                }
57
            });
58
 
59
            $(document).on('click', '.new-dashboard', function () {
60
                console.log('click11111')
61
                var fofoId = $(this).data('fofoid');
62
 
63
                window.open("/analysisDashboard?fofoId=" + fofoId, '_blank');
64
            });
65
        })
66
    </script>
67
 
31860 tejbeer 68
    <style>
35064 aman 69
        .ms-10 {
70
            margin-left: 100px !important;
71
        }
31860 tejbeer 72
        .yellow {
73
            background-color: #fdfd96;
74
        }
75
 
76
        .orange {
77
            background-color: #FAC898;
78
        }
79
 
80
        .green {
81
            background-color: #77dd77;
82
        }
83
 
84
        .red {
85
            background-color: #FAA0A0;
86
        }
87
 
88
        .details {
89
            color: #A3A3A5;
90
            font-weight: 400;
91
        }
35064 aman 92
 
93
 
31860 tejbeer 94
        .normal {
95
            color: #0000ff;
96
            font-weight: 400;
97
        }
98
 
99
        .subtitle {
100
            color: #B46060;
101
            font-weight: 400;
102
        }
103
 
104
        .light-red {
105
            background-color: #FBE4D5;
106
        }
35064 aman 107
 
108
        .raised th {
109
            width: 30%
110
        }
111
 
31860 tejbeer 112
    </style>
113
 
114
</head>
115
 
116
<body>
117
 
118
 
35064 aman 119
<div class="container-fluid mt-2 mb-5">
120
    <div class="row mt-5">
121
        <div class="col bg-dark text-left px-3 py-2 border-bottom">
122
            <h5 class="text-light mb-0">Raised Flags
123
                <button class="new-dashboard btn btn-info btn-sm" data-fofoid="$fofoId">Dashboard Info</button>
124
                <a id="mobileAppId" href="${rc.contextPath}/mobileapp?emailId=$customRetailer.getEmail()"
125
                   class="btn btn-danger btn-sm" target="_blank">Franchise App
126
                </a>
34590 ranu 127
 
35064 aman 128
            </h5>
31860 tejbeer 129
        </div>
35064 aman 130
    </div>
131
    <div class="row mt-5">
132
        <div class="col">
133
            <div>
134
                <h6 class=" yellow p-1 m-0">Working status</h6>
135
                <table class="table  table-sm raised">
136
                    <tbody>
31956 tejbeer 137
                    <tr>
35064 aman 138
                        <th class="details">Partner Status</th>
139
                        #if($fofoStore.isActive())
140
                            <td>ACTIVE</td>
141
                        #else
142
                            <td class="text-danger">INACTIVE</td>
143
                        #end
144
                    </tr>
145
                    </tbody>
146
                </table>
147
            </div>
148
            <div>
149
                <h6 class=" yellow p-1 m-0">Partner Investment Level</h6>
150
                <table class="table  table-sm raised">
151
                    <tbody>
152
                    <tr>
153
                        <th class="details">Investment</th>
154
                        #if($investment.getShortPercentage() <= 0)
155
                            <td class="text-success"> OK:>100%</td>
156
                        #elseif($investment.getShortPercentage() > 20)
31860 tejbeer 157
 
35064 aman 158
                            <td class="text-danger">Low:<80%</td>
159
                        #else
160
                            <td class="normal">Below Normal:(80% -100%)</td>
161
                        #end
162
                    </tr>
163
                    </tbody>
164
                </table>
31860 tejbeer 165
            </div>
35064 aman 166
            <div>
167
                <h6 class=" yellow p-1 m-0">Regularity of Buisness</h6>
168
                <table class="table  table-sm raised">
169
                    <tbody>
170
                    <tr>
171
                        <th class="details">Last Secondary</th>
172
                        #if($lastPurchaseDays < 5)
173
 
174
                            <td class="text-success">$lastPurchaseDays days back</td>
175
 
176
                        #else
177
 
178
                            <td class="text-danger">$lastPurchaseDays days back</td>
179
 
180
                        #end
181
                    </tr>
182
                    <tr>
183
                        <th class="details">Last Tertiary</th>
184
                        #if($lastTertiaryDays)
185
                            #if($lastTertiaryDays < 5)
186
 
187
                                <td class="text-success">$lastTertiaryDays days back</td>
188
 
189
                            #else
190
 
191
                                <td class="text-danger">$lastTertiaryDays days back</td>
192
 
193
                            #end
194
                        #end
195
                    </tr>
196
                    <tr>
197
                        <th class="details">Unbilled Activated Stock</th>
198
                        #if($lastUnbilledActivated > 0)
199
                            <td class="text-danger">$investment.getUnbilledAmount()</td>
200
 
201
 
202
                        #else
203
 
204
                            <td class="text-success"> -</td>
205
 
206
                        #end
207
 
208
                    </tr>
209
                    </tbody>
210
                </table>
211
            </div>
212
 
213
            #if(!$loans.isEmpty())
31860 tejbeer 214
                <div>
35064 aman 215
                    <h6 class=" yellow p-1 m-0">Active Loans</h6>
31947 tejbeer 216
                    <table class="table  table-sm raised">
31860 tejbeer 217
                        <tbody>
35064 aman 218
                        <tr>
219
                            <th>Loan Id</th>
220
                            <th>Interest Rate(%)</th>
221
                            <th>Initial Amount</th>
222
                            <th>Pending Amount</th>
223
                            <th>Interest Accrued</th>
224
                            <th>Interest Paid</th>
225
                            <th>Opening Date</th>
226
                            <th>Due Date</th>
227
                        </tr>
228
 
229
                            #foreach($ls in $loans)
230
 
31860 tejbeer 231
                            <tr>
35064 aman 232
 
233
                                <td>$ls.getId()</td>
234
                                <td>$ls.getInterestRate().setScale(2,$ru)</td>
235
                                <td>$ls.getIntialAmount().setScale(2,$ru)</td>
236
                                <td>$ls.getPendingAmount().setScale(2,$ru)</td>
237
                                <td>$ls.getInterestAccrued().setScale(2,$ru)</td>
238
 
239
                                <td>$ls.getInterestPaid().setScale(2,$ru)</td>
240
                                <td>$ls.getCreatedOn().format($dateTimeFormatter)</td>
241
                                <td>$ls.getDueDate().format($dateTimeFormatter)</td>
31860 tejbeer 242
                            </tr>
35064 aman 243
                            #end
244
                        <tr>
245
                            <td colspan="2" style="text-align: right;">Total</td>
246
                            <td>$totalInitialAmount.setScale(2,$ru)</td>
247
                            <td>$totalPendingAmount.setScale(2,$ru)</td>
248
                            <td>$totalInterestAccured.setScale(2,$ru)</td>
249
                            <td>$totalInterestPaid.setScale(2,$ru)</td>
250
                            <td>-</td>
251
                            <td>-</td>
252
                        </tr>
32149 amit.gupta 253
 
254
 
31860 tejbeer 255
                        </tbody>
256
                    </table>
257
                </div>
35064 aman 258
            #end
31860 tejbeer 259
 
35064 aman 260
            <div>
261
                <button class="btn btn-primary agingDataAfterNintyDays" data-fofoid="$fofoId" data-brand="$brand"
262
                        data-toggle="modal" data-target="#agingItemWiseBrandStock">AgingDataGt90Days
263
                </button>
31860 tejbeer 264
 
265
            </div>
35064 aman 266
            <div id="agingItemWiseBrandStock" class="modal" role="dialog">
267
                <div class="modal-dialog">
268
                    <div class="modal-content" style="width:140%">
31860 tejbeer 269
 
35064 aman 270
                    </div>
271
                </div>
31860 tejbeer 272
            </div>
273
        </div>
35064 aman 274
        <div class="col">
275
            <div>
276
                <h6 class=" yellow p-1 m-0">Logistics</h6>
277
                <table class="table  table-sm raised">
31860 tejbeer 278
                    <tbody>
35064 aman 279
                    <tr>
280
                        <th class="details">Order to Billing time</th>
281
                        #if($createdToBillingAverage)
282
                            #if($createdToBillingAverage < 1)
283
                                <td class="text-success"> Normal < 1 ($decimalFormatter.format($createdToBillingAverage)
284
                                    days)
285
                                </td>
31860 tejbeer 286
                            #else
35064 aman 287
                                <td class="text-danger"> High >= 1
288
                                    ($decimalFormatter.format($createdToBillingAverage) days)
289
                                </td>
31860 tejbeer 290
                            #end
35064 aman 291
                        #else
292
                            <td>-</td>
293
                        #end
294
 
295
                    </tr>
296
                    <tr>
297
                        <th class="details">Billing to Delivery time</th>
298
                        #if($billingToDeliverAverage)
299
 
300
                            #if($billingToDeliverAverage < 2)
301
                                <td class="text-success"> Normal < 2
302
                                    ($decimalFormatter.format($billingToDeliverAverage) days)
303
                                </td>
31860 tejbeer 304
                            #else
35064 aman 305
                                <td class="text-danger"> High >= 2
306
                                    ($decimalFormatter.format($billingToDeliverAverage) days)
307
                                </td>
31860 tejbeer 308
                            #end
35064 aman 309
                        #else
310
                            <td>-</td>
311
 
312
                        #end
313
                    </tr>
31860 tejbeer 314
                    </tbody>
315
                </table>
316
            </div>
35064 aman 317
            <div>
318
                <h6 class=" yellow p-1 m-0">Stocking</h6>
319
                <table class="table  table-sm raised">
31860 tejbeer 320
                    <tbody>
35064 aman 321
                    <tr>
322
                        <th class="details">Stock Level</th>
323
                        #if($oneFourthOfTertiary > $totalStock)
324
                            <td class="text-danger">Low</td>
325
                        #else
326
                            <td class="text-success"> High</td>
327
                        #end
31860 tejbeer 328
 
35064 aman 329
                    </tr>
330
                    <tr>
331
                        <th class="details">Sufficient Stock</th>
332
                        <td class="text-success">  #foreach($suffientModel in $suffientModels)
333
                            $suffientModel.getBrand(),
334
                        #end
335
 
336
                        </td>
337
                    </tr>
338
                    <tr>
339
                        <th class="details">Low Stock</th>
340
                        <td class="text-danger">
341
                            #foreach($lowModel in $lowModels)
342
                                $lowModel.getBrand(),
31860 tejbeer 343
                            #end
35064 aman 344
                        </td>
345
                    </tr>
31860 tejbeer 346
                    </tbody>
347
                </table>
348
            </div>
349
 
35064 aman 350
 
351
            <div>
352
                <h6 class=" yellow p-1 m-0">Brands</h6>
353
                <table class="table  table-sm raised">
31860 tejbeer 354
                    <tbody>
35064 aman 355
                    <tr>
356
                        <th class="details">Working Brands</th>
357
 
358
 
359
                        <td class="text-success">
360
                            #foreach($brandsDisplay in $brandsDisplays)
361
                                #set($brand = $brandsDisplay.getName())
362
                                #if(!$retailerBlockBrands.get($brand))
363
                                    $brand ,
364
                                #end
31860 tejbeer 365
                            #end
35064 aman 366
                        </td>
367
 
368
 
369
                    </tr>
370
                    <tr>
371
                        <th class="details">Blocked Brands</th>
372
                        <td class="text-danger">
373
                            #foreach($brandsDisplay in $brandsDisplays)
374
                                #set($brand = $brandsDisplay.getName())
375
                                #if($retailerBlockBrands.get($brand))
376
                                    $brand ,
377
                                #end
31860 tejbeer 378
                            #end
35064 aman 379
                        </td>
380
                    </tr>
381
 
31860 tejbeer 382
                </table>
383
            </div>
384
        </div>
385
 
35064 aman 386
    </div>
387
 
388
    <div class="row mt-2">
389
        <div class="col bg-dark text-left px-3 py-2 border-bottom">
390
            <h5 class="text-light mb-0">Partner Basic Details</h5>
31860 tejbeer 391
        </div>
35064 aman 392
    </div>
393
    <div class="row mt-2">
394
        <div class="col">
395
            <table class="table table-sm">
396
                <tbody>
397
                <tr>
398
                    <th class="details">Partner Code</th>
399
                    <td class="">$customRetailer.getCode()</td>
400
                </tr>
401
                <tr>
402
                    <th class="details">Partner Name</th>
403
                    <td>$customRetailer.getBusinessName()</td>
404
                </tr>
405
                <tr>
406
                    <th class="details">City</th>
407
                    <td>$customRetailer.getAddress().getCity()</td>
408
                </tr>
409
                <tr>
410
                    <th class="details">State</th>
411
                    <td>$customRetailer.getAddress().getState()</td>
412
                </tr>
413
                <tr>
414
                    <th class="details">Current Category</th>
415
                    <td>$partnerType.getValue()</td>
416
                </tr>
417
 
418
                </tbody>
419
            </table>
31860 tejbeer 420
        </div>
421
 
35064 aman 422
        <div class="col">
423
            <table class="table table-sm">
424
                <tbody>
425
 
426
                <tr>
427
                    <th class="details">Contact Person</th>
428
                    <td>#if($customRetailer.getFirstName())$customRetailer.getFirstName() #end #if($customRetailer.getLastName()) $customRetailer.getLastName() #end</td>
429
                </tr>
430
                <tr>
431
                    <th class="details">Partner DOB</th>
432
 
433
                    #if($partnerOnboardingPanel.getDob())
434
                        <td>$partnerOnboardingPanel.getDob().format($dateFormatter)</td>
435
                    #else
436
                        <td> -</td>
437
                    #end
438
                </tr>
439
                <tr>
440
                    <th class="details">Partner Anniv</th>
441
 
442
                    #if($partnerOnboardingPanel.getAnniversaryDate())
443
                        <td>$partnerOnboardingPanel.getAnniversaryDate().format($dateFormatter)</td>
444
                    #else
445
                        <td> -</td>
446
                    #end
447
                </tr>
448
                <tr>
449
                    <th class="details">Latitude</th>
450
                    <td>$fofoStore.getLatitude()</td>
451
                </tr>
452
                <tr>
453
                    <th class="details">Longitude</th>
454
                    <td>$fofoStore.getLongitude()</td>
455
                </tr>
456
 
457
                </tbody>
458
            </table>
459
        </div>
460
 
461
 
462
        <div class="col">
463
            <table class="table table-sm">
464
                <tbody>
465
 
466
 
467
                <tr>
468
                    <th class="details">Outlet Potential</th>
469
                    <td class="currency">$fofoStore.getCounterPotential()</td>
470
                </tr>
471
                </tbody>
472
            </table>
473
        </div>
474
    </div>
475
 
476
    <div class="row mt-2">
477
        <div class="col bg-dark text-left px-3 py-2 border-bottom">
478
            <h5 class="text-light mb-0">Logistics</h5>
479
        </div>
480
    </div>
481
    <div class="row mt-2">
482
        <div class="col">
483
            <table class="table table-sm">
484
                <tbody>
485
                <tr>
486
                    <th class="details">Last courier sent</th>
487
                    #if($lastCourierSent)
488
                        <td class="">$lastCourierSent.format($dateFormatter)</td>
489
                    #else
490
                        <td>-</td>
491
                    #end
492
                </tr>
493
                <tr>
494
                    <th class="details">Last courier partner</th>
495
                    #if($lastCourierPartner)
496
                        <td>$lastCourierPartner</td>
497
                    #else
498
                        <td>-</td>
499
                    #end
500
                </tr>
501
                </tbody>
502
            </table>
503
        </div>
504
 
505
        <div class="col">
506
            <table class="table table-sm">
507
                <tbody>
508
                <tr>
509
                    <th class="details">Order to billing</th>
510
                    #if($createdToBillingAverage)
511
                        <td>$decimalFormatter.format($createdToBillingAverage) days</td>
512
                    #else
513
                        <td>-</td>
514
                    #end
515
                </tr>
516
                <tr>
517
                    <th class="details">Billing to delivery</th>
518
                    #if($billingToDeliverAverage)
519
                        <td>$decimalFormatter.format($billingToDeliverAverage) days</td>
520
                    #else
521
                        <td> -</td>
522
                    #end
523
                </tr>
524
                </tbody>
525
            </table>
526
        </div>
527
    </div>
528
 
529
    <div class="row mt-2">
530
        <div class="col bg-dark text-left px-3 py-2 border-bottom">
531
            <h5 class="text-light mb-0">Investment Trend</h5>
532
        </div>
533
    </div>
534
    <div class="row mt-2">
535
        <div class="col">
536
            <h6 class=" yellow p-1 text-center">Investment</h6>
537
        </div>
538
    </div>
539
 
540
    <div class="row">
541
        <div class="col">
542
            <table class="table table-bordered table-sm">
543
                <tbody>
544
                <tr>
545
                    <th class="details">Wallet Value</th>
546
                    <td class="currency">$investment.getWalletAmount()</td>
547
                </tr>
548
 
549
                <tr>
550
                    <th class="details">Agreed Investment</th>
551
                    <td class="currency">$investment.getMinInvestment()</td>
552
                </tr>
553
                <tr>
554
                    <th class="details">Current investment</th>
555
                    <td class="light-red currency">$investment.getTotalInvestment() &nbsp; &nbsp;<span
556
                            class="font-weight-bold ">$nf.format($investment.getShortPercentage()) %</span></td>
557
                </tr>
558
                <tr>
559
                    <th class="details">Short / Excess</th>
560
                    <td class="light-red currency">$investment.getShortInvestment() &nbsp; &nbsp;
561
 
562
 
563
 
564
                        #if($investment.getShortPercentage() <= 0)
565
                            <span
566
                                    class="text-success font-weight-bold">OK</span>
567
 
568
 
569
                        #else
570
                            <span
571
                                    class="text-danger font-weight-bold">Short</span>
572
 
573
                        #end
574
 
575
                    </td>
576
                </tr>
577
                </tbody>
578
            </table>
579
        </div>
580
        <div class="col">
581
            <table class="table table-bordered table-sm">
582
                <thead>
583
                <tr class="orange">
584
                    <th scope="col">Month</th>
585
                    <th scope="col">Days</th>
586
                </tr>
587
                </thead>
588
                <tbody>
589
                    #foreach($label in $labels)
590
                    <tr>
591
                        <td class="details">$label</td>
592
                        #if($monthOkDaysInvestmentMap.get($label))
32044 tejbeer 593
                            #if($monthOkDaysInvestmentMap.get($label) > 15)
35064 aman 594
                                <td class="text-success">$monthOkDaysInvestmentMap.get($label)</td>
31860 tejbeer 595
                            #else
35064 aman 596
                                <td class="text-danger">$monthOkDaysInvestmentMap.get($label)</td>
31860 tejbeer 597
                            #end
35064 aman 598
                        #else
31860 tejbeer 599
                            <td>-</td>
600
                        #end
35064 aman 601
                    </tr>
602
                    #end
603
                </tbody>
604
            </table>
31860 tejbeer 605
        </div>
35064 aman 606
        <div class="col-4 mt-2">
31860 tejbeer 607
 
35064 aman 608
            <canvas id="chartInvestmentJSContainer" width="auto" height="auto"></canvas>
609
 
31860 tejbeer 610
        </div>
35064 aman 611
    </div>
612
 
613
    <div class="row mt-2">
614
        <div class="col">
615
            <h6 class=" yellow p-1 text-center">Current Stock</h6>
616
        </div>
617
    </div>
618
    <div class="row">
619
        <div class="col">
620
            <table class="table table-bordered table-sm">
621
                <thead>
622
                <th scope="row"></th>
623
                <td colspan="2" class="text-center">Current</td>
624
                <td></td>
625
                <td colspan="2" class="text-center">GRN Pending</td>
626
                <td colspan="2" class="text-center">Pending Indent</td>
627
                </thead>
628
                <thead>
629
                <tr class="orange">
630
                    <th scope="col">Brand</th>
631
                    <th scope="col">Value</th>
632
                    <th scope="col">Units</th>
633
                    <th scope="col">Brand status</th>
634
                    <th scope="col">Value</th>
635
                    <th scope="col">Units</th>
636
                    <th scope="col">Value</th>
637
                    <th scope="col">Units</th>
638
 
639
                </tr>
640
                </thead>
641
                <tbody>
642
 
643
                    #foreach($brandsDisplay in $brandsDisplays)
644
                        #set($brand = $brandsDisplay.getName())
645
                    <tr>
646
                        <td class="details">$brand</td>
647
                        #if($brandStockMap.get($brand))
31952 tejbeer 648
                            <td class="currency $brandStockMap.get($brand).getColor()">$brandStockMap.get($brand).getTotalValue()</td>
31860 tejbeer 649
                            <td>$brandStockMap.get($brand).getTotalQty()</td>
35064 aman 650
                        #else
31884 tejbeer 651
                            <td class="$brandStockMap.get($brand).getColor()">0</td>
31860 tejbeer 652
                            <td>0</td>
35064 aman 653
 
654
                        #end
655
                        #if($retailerBlockBrands.get($brand))
31860 tejbeer 656
                            <td>Blocked</td>
35064 aman 657
                        #else
31860 tejbeer 658
                            <td>ACTIVE</td>
35064 aman 659
                        #end
660
                        #if($grnPendingValue.get($brand))
661
                            <td class="currency">$grnPendingValue.get($brand)</td>
31860 tejbeer 662
                            <td>$grnPendingQty.get($brand)</td>
35064 aman 663
                        #else
31860 tejbeer 664
                            <td>0</td>
665
                            <td>0</td>
666
 
35064 aman 667
                        #end
668
                        #if($processingOrderMap.get($brand))
669
                            <td class="currency">$processingOrderMap.get($brand).get("val")</td>
670
                            <td class="currency">$processingOrderMap.get($brand).get("qty")</td>
671
 
672
                        #else
673
                            <td>0</td>
674
                            <td>0</td>
675
                        #end
676
 
677
                    </tr>
678
 
679
                    #end
680
 
681
                <tr>
682
                    <td> Total</td>
683
                    <td class="currency"> $totalStock</td>
684
                    <td>$totalQty </td>
685
                    <td></td>
686
 
687
                    #if($totalGrnPendingStock)
688
                        <td class="currency"> $totalGrnPendingStock</td>
689
                    #else
690
                        <td></td>
691
                    #end
692
 
693
                    #if($totalGrnPendingQty)
694
                        <td> $totalGrnPendingQty</td>
695
                    #else
696
                        <td></td>
697
                    #end
698
                    #if($totalGrnPendingQty)
699
                        <td class="currency"> $totalPIValue</td>
700
                        <td> $totalPIQty</td>
701
                    #else
702
                        <td></td>
703
                        <td></td>
704
                    #end
705
 
706
                </tr>
707
 
708
                </tbody>
709
            </table>
31860 tejbeer 710
        </div>
35064 aman 711
    </div>
31860 tejbeer 712
 
35064 aman 713
    <div class="row">
714
        <div class="col bg-dark text-left px-3 py-2 border-bottom">
715
            <h5 class="text-light mb-0">Sales & Income Trend</h5>
31860 tejbeer 716
        </div>
35064 aman 717
    </div>
31860 tejbeer 718
 
35064 aman 719
    <div class="row mt-2">
720
        <div class="col">
721
            <ul class="nav nav-tabs" role="tablist">
722
                <li class="nav-item">
723
                    <a class="nav-link active" data-toggle="tab" href="#secondary">Secondary</a>
724
                </li>
725
                <li class="nav-item">
726
                    <a class="nav-link" data-toggle="tab" href="#tertiary">Tertiary</a>
727
                </li>
728
                <li class="nav-item">
729
                    <a class="nav-link" data-toggle="tab" href="#earning">Earning</a>
730
                </li>
731
            </ul>
31860 tejbeer 732
 
35064 aman 733
            <!-- Tab panes -->
734
            <div class="tab-content">
31860 tejbeer 735
 
35064 aman 736
                <div id="secondary" class="container-fluid tab-pane active"><br>
737
                    <div class="row">
738
                        <div class="col-6">
739
                            <div class="p-2 text-center">#if($lastPurchaseDays < 5)
740
                                <span class="text-success">Last Secondary:  $lastPurchaseDays days back </span>
741
                            #else
742
                                <span class="text-danger">Last Secondary: $lastPurchaseDays days back </span>
743
                            #end
744
                            </div>
745
 
746
                            <table id="partnerSecondary" class="table table-bordered table-sm">
747
                                <thead>
748
                                <tr class="orange">
749
                                    <th scope="col">Month</th>
750
                                    #foreach($label in $labels)
751
                                        <th scope="col">$label</th>
752
                                    #end
753
                                </tr>
754
                                </thead>
755
                                <tbody>
756
                                    #foreach($allBrand in $allBrands)
757
                                        #set($brand = $allBrand.getName())
758
                                        #set($purchase = $purchaseMap.get($brand))
759
                                    <tr>
760
                                        <td class="details brandFocusedStock" data-fofoid="$fofoId" data-brand="$brand"
761
                                            data-toggle="modal" data-target="#itemWiseBrandStock">$brand</td>
762
 
763
                                        #foreach($label in $labels)
764
                                            #if($brand.equals("Samsung"))
31887 tejbeer 765
                                                #if($purchase.get($label))
35064 aman 766
                                                    #if($purchase.get($label) >= 150000)
767
                                                        <td class="currency green " data-brand="$brand"
768
                                                            data-month="$label">$purchase.get($label)</td>
769
                                                    #else
770
                                                        <td class="currency red " data-brand="$brand"
771
                                                            data-month="$label">$purchase.get($label)</td>
772
                                                    #end
31887 tejbeer 773
                                                #else
35064 aman 774
                                                    <td data-brand="$brand"
775
                                                        data-month="$label">0
776
                                                    </td>
31887 tejbeer 777
                                                #end
35064 aman 778
                                            #end
779
 
780
                                            #if($brand.equals("Xiaomi"))
31887 tejbeer 781
                                                #if($purchase.get($label))
35064 aman 782
                                                    #if($purchase.get($label) >= 100000)
783
                                                        <td class="currency green " data-brand="$brand"
784
                                                            data-month="$label">$purchase.get($label)</td>
785
                                                    #else
786
                                                        <td class="currency red " data-brand="$brand"
787
                                                            data-month="$label">$purchase.get($label)</td>
788
                                                    #end
31887 tejbeer 789
                                                #else
35064 aman 790
                                                    <td data-brand="$brand"
791
                                                        data-month="$label">0
792
                                                    </td>
31887 tejbeer 793
                                                #end
35064 aman 794
                                            #end
795
 
796
                                            #if($brand.equals("Oppo") || $brand.equals("Vivo"))
31887 tejbeer 797
                                                #if($purchase.get($label))
35064 aman 798
                                                    #if($purchase.get($label) >= 200000)
799
                                                        <td class="currency green " data-brand="$brand"
800
                                                            data-month="$label">$purchase.get($label)</td>
801
                                                    #else
802
                                                        <td class="currency red " data-brand="$brand"
803
                                                            data-month="$label">$purchase.get($label)</td>
804
                                                    #end
31887 tejbeer 805
                                                #else
35064 aman 806
                                                    <td data-brand="$brand"
807
                                                        data-month="$label">0
808
                                                    </td>
31887 tejbeer 809
                                                #end
35064 aman 810
                                            #end
811
 
812
                                            #if(!$brand.equals("Oppo") && !$brand.equals("Vivo") && !$brand.equals(
813
                                                "Xiaomi") && !$brand.equals("Samsung"))
31887 tejbeer 814
                                                #if($purchase.get($label))
35064 aman 815
                                                    <td class="currency " data-brand="$brand"
816
                                                        data-month="$label">$purchase.get($label)</td>
31887 tejbeer 817
                                                #else
35064 aman 818
                                                    <td data-brand="$brand"
819
                                                        data-month="$label">0
820
                                                    </td>
821
                                                #end
31860 tejbeer 822
                                            #end
35064 aman 823
                                        #end
824
                                    </tr>
825
                                    #end
31860 tejbeer 826
 
35064 aman 827
                                <tr class="font-weight-bold">
828
                                    <td class="details">Total</td>
829
                                    #foreach($label in $labels)
830
                                        #if($yearMonthPurchase.get($label))
831
                                            <td class="currency">$yearMonthPurchase.get($label)</td>
832
                                        #else
833
                                            <td>0</td>
834
                                        #end
835
                                    #end
836
                                </tr>
837
 
838
                                <tr>
839
                                    <td class="details">Target</td>
840
                                    #foreach($label in $labels)
841
                                        #if($monthlyTarget.get($label).getPurchaseTarget())
35119 aman 842
                                            <td class="currency">$decimalFormatter.format($monthlyTarget.get($label).getPurchaseTarget())</td>
35064 aman 843
                                        #else
844
                                            <td>0</td>
845
                                        #end
846
                                    #end
847
                                </tr>
848
 
849
                                <tr>
850
                                    <td class="details">% achvmt</td>
851
                                    #foreach($label in $labels)
852
                                        #if($yearMonthPurchase.get($label))
853
                                            #set($ymp = $yearMonthPurchase.get($label))
854
                                        #else
855
                                            #set($ymp = 0)
856
                                        #end
857
 
858
                                        #if($monthlyTarget.get($label).getPurchaseTarget())
859
                                            #set($mt = $monthlyTarget.get($label).getPurchaseTarget())
860
                                        #else
861
                                            #set($mt = 0)
862
                                        #end
863
 
864
                                        #set($div = ($ymp / $mt) * 100)
865
                                        #if($div)
866
                                            #if($div > 65)
867
                                                <td class="text-success">$math.roundTo(2, $div)%</td>
31860 tejbeer 868
                                            #else
35064 aman 869
                                                <td class="text-danger">$math.roundTo(2, $div)%</td>
31860 tejbeer 870
                                            #end
35064 aman 871
                                        #else
872
                                            <td class="text-danger">-</td>
873
                                        #end
874
                                    #end
875
                                </tr>
876
                                </tbody>
877
                            </table>
878
                        </div>
879
                        <div id="rightTable" style="display: none;">
880
                            <h3 class="ms-10">Item wise sale quantity</h3>
881
                            <table class="table table-bordered table-sm  ps-5 ms-10">
882
                                <thead>
883
                                <tr>
31860 tejbeer 884
 
35064 aman 885
                                    <th>Model</th>
886
                                    <th>Quantity</th>
887
                                </tr>
888
                                </thead>
889
                                <tbody id="rightTableBody">
890
                                </tbody>
891
                            </table>
892
                        </div>
893
                        <div class="col-6 mt-2">
31892 tejbeer 894
 
35064 aman 895
 
896
                            <canvas id="chartSecondaryJSContainer" width="auto" height="auto"></canvas>
897
 
31860 tejbeer 898
                        </div>
35064 aman 899
 
900
 
901
                        <div id="itemWiseBrandStock" class="modal" role="dialog">
902
                            <div class="modal-dialog">
903
                                <div class="modal-content" style="width:140%">
904
 
905
                                </div>
906
                            </div>
907
                        </div>
31860 tejbeer 908
                    </div>
909
 
35064 aman 910
                </div>
31860 tejbeer 911
 
912
 
35064 aman 913
                <div id="tertiary" class="container-fluid tab-pane fade"><br>
914
                    <div class="row">
915
                        <div class="col-6">
916
                            <div class="p-2  text-center">
31860 tejbeer 917
                                #if($lastTertiaryDays < 5)
35064 aman 918
                                    <span class="text-success">Last tertiary: $lastTertiaryDays days back </span>
919
                                #else
920
                                    <span class="text-danger">Last tertiary: $lastTertiaryDays days back </span>
31860 tejbeer 921
                                #end
35064 aman 922
 
923
                                #if($lastUnbilledActivated > 0)
924
                                    <td class="text-danger">Unbilled Activated : $investment.getUnbilledAmount()</td>
925
 
926
 
31887 tejbeer 927
                                #else
35064 aman 928
 
929
                                    <td class="text-success"> Unbilled Activated : 0</td>
31887 tejbeer 930
                                #end
35064 aman 931
                            </div>
932
                            <table class="table table-bordered table-sm">
933
                                <thead>
934
                                <tr class="orange">
935
                                    <th scope="col">Month</th>
936
                                    #foreach($label in $labels)
937
                                        <th scope="col">$label</th>
938
                                    #end
939
                                </tr>
940
                                </thead>
941
                                <tbody>
942
                                    #foreach($allBrand in $allBrands)
943
                                        #set($brand = $allBrand.getName())
944
                                        #set($tertiary= $tertiaryMap.get($brand))
945
                                    <tr>
946
 
947
                                        <td class="details">$brand</td>
948
                                        #foreach($label in $labels)
949
                                            #if($brand.equals("Samsung"))
31887 tejbeer 950
                                                #if($tertiary.get($label))
35064 aman 951
                                                    #if($tertiary.get($label) >= 150000)
952
                                                        <td class="currency green">$tertiary.get($label)</td>
953
                                                    #else
954
                                                        <td class="currency red">$tertiary.get($label)</td>
955
                                                    #end
31887 tejbeer 956
                                                #else
35064 aman 957
                                                    <td>0</td>
31887 tejbeer 958
                                                #end
35064 aman 959
 
960
                                            #end
961
 
962
                                            #if($brand.equals("Xiaomi"))
31887 tejbeer 963
                                                #if($tertiary.get($label))
35064 aman 964
                                                    #if($tertiary.get($label) >= 100000)
965
                                                        <td class="currency green">$tertiary.get($label)</td>
966
                                                    #else
967
                                                        <td class="currency red">$tertiary.get($label)</td>
968
                                                    #end
31887 tejbeer 969
                                                #else
35064 aman 970
                                                    <td>0</td>
31887 tejbeer 971
                                                #end
35064 aman 972
 
973
                                            #end
974
 
975
                                            #if($brand.equals("Oppo") || $brand.equals("Vivo") )
31887 tejbeer 976
                                                #if($tertiary.get($label))
35064 aman 977
                                                    #if($tertiary.get($label) >= 200000)
978
                                                        <td class="currency green">$tertiary.get($label)</td>
979
                                                    #else
980
                                                        <td class="currency red">$tertiary.get($label)</td>
981
                                                    #end
31887 tejbeer 982
                                                #else
35064 aman 983
                                                    <td>0</td>
31887 tejbeer 984
                                                #end
35064 aman 985
 
986
                                            #end
987
 
988
                                            #if(!$brand.equals("Oppo") && !$brand.equals("Vivo") && !$brand.equals(
989
                                                "Xiaomi") && !$brand.equals("Samsung") )
990
 
31887 tejbeer 991
                                                #if($tertiary.get($label))
35064 aman 992
 
993
                                                    <td class="currency">$tertiary.get($label) </td>
994
 
31887 tejbeer 995
                                                #else
35064 aman 996
                                                    <td>0</td>
997
                                                #end
998
 
31860 tejbeer 999
                                            #end
1000
 
35064 aman 1001
 
1002
                                        #end
1003
 
1004
                                    </tr>
1005
 
1006
                                    #end
1007
 
1008
                                <tr class="font-weight-bold">
1009
                                    <td class="details">Total</td>
1010
                                    #foreach($label in $labels)
1011
                                        #if($yearMonthTertiary.get($label))
1012
 
32002 tejbeer 1013
                                            <td class="currency">$yearMonthTertiary.get($label)</td>
35064 aman 1014
                                        #else
1015
                                            <td> 0</td>
1016
                                        #end
1017
                                    #end
31860 tejbeer 1018
 
35064 aman 1019
                                </tr>
1020
 
1021
 
1022
                                <tr class="font-weight-bold">
1023
                                    <td class="details"></td>
1024
                                    #foreach($label in $labels)
1025
                                        #if($yearMonthPartnerType.get($label))
1026
 
31967 tejbeer 1027
                                            <td>$yearMonthPartnerType.get($label).getValue()</td>
35064 aman 1028
                                        #else
1029
                                            <td> -</td>
1030
                                        #end
1031
                                    #end
31860 tejbeer 1032
 
35064 aman 1033
                                </tr>
1034
                                <tr>
1035
                                    <td class="details">Target</td>
1036
                                    #foreach($label in $labels)
1037
                                        #if($monthlyTarget.get($label).getSaleTarget())
32001 tejbeer 1038
                                            <td class="currency"> $monthlyTarget.get($label).getSaleTarget()</td>
35064 aman 1039
                                        #else
1040
                                            <td>0</td>
1041
                                        #end
1042
 
1043
                                    #end
1044
 
1045
                                </tr>
1046
                                <tr>
1047
                                    <td class="details">% achvmt</td>
1048
 
1049
 
1050
 
1051
                                    #foreach($label in $labels)
1052
                                        #if($yearMonthTertiary.get($label))
1053
                                            #set($ymt = $yearMonthTertiary.get($label))
1054
                                        #else
1055
                                            #set($ymt = 0)
1056
                                        #end
1057
 
1058
                                        #if($monthlyTarget.get($label).getSaleTarget())
1059
                                            #set($mst = $monthlyTarget.get($label).getSaleTarget())
1060
                                        #else
1061
                                            #set($mst= 0 )
1062
                                        #end
1063
                                        #set($dit=  ($ymt/ $mst)* 100)
1064
                                        #if($dit)
1065
                                            #if($dit >65)
1066
                                                <td class="text-success">$math.roundTo(2, $dit)%</td>
31860 tejbeer 1067
                                            #else
35064 aman 1068
                                                <td class="text-danger">$math.roundTo(2, $dit)%</td>
31860 tejbeer 1069
                                            #end
35064 aman 1070
                                        #else
1071
                                            <td class="text-danger">-</td>
1072
                                        #end
31860 tejbeer 1073
 
35064 aman 1074
                                    #end
1075
                                </tr>
1076
                                </tbody>
1077
                            </table>
31860 tejbeer 1078
 
1079
                        </div>
35064 aman 1080
                        <div class="col-6 mt-2">
1081
 
1082
                            <canvas id="chartTertiaryJSContainer" width="auto" height="auto"></canvas>
1083
 
1084
                        </div>
31860 tejbeer 1085
                    </div>
35064 aman 1086
 
1087
                </div>
1088
                <div id="earning" class="container-fluid tab-pane fade"><br>
1089
                    <div class="row">
1090
                        <div class="col-6">
1091
                            <table class="table table-bordered table-sm">
1092
                                <thead>
1093
                                <tr class="orange">
1094
                                    <th scope="col">Month</th>
1095
                                    #foreach($label in $labels)
1096
                                        <th scope="col">$label</th>
1097
                                    #end
1098
                                </tr>
1099
 
1100
 
1101
                                </thead>
1102
                                <tbody>
1103
 
1104
                                    #foreach($allBrand in $allBrands)
1105
                                        #set($brand = $allBrand.getName())
1106
 
1107
                                    <tr>
1108
 
1109
                                        <td class="details">$brand</td>
1110
                                        #foreach($label in $labels)
1111
                                            #set($earning= $earningMap.get($label))
1112
                                            #if($earning.get($brand))
1113
                                                <td class="currency">$earning.get($brand)</td>
31860 tejbeer 1114
                                            #else
35064 aman 1115
                                                <td>0</td>
31860 tejbeer 1116
                                            #end
35064 aman 1117
                                        #end
31860 tejbeer 1118
 
35064 aman 1119
                                    </tr>
1120
 
1121
 
1122
                                    #end
1123
 
1124
                                <tr class="font-weight-bold">
1125
                                    <td class="details">Total</td>
1126
                                    #foreach($label in $labels)
1127
                                        #if($totalEarningPerMonth.get($label))
1128
 
35119 aman 1129
                                            <td class="currency">$decimalFormatter.format($totalEarningPerMonth.get($label))</td>
35064 aman 1130
                                        #else
1131
                                            <td> -</td>
1132
                                        #end
1133
                                    #end
31860 tejbeer 1134
 
35064 aman 1135
                                </tr>
31860 tejbeer 1136
 
35064 aman 1137
                                </tbody>
1138
                            </table>
1139
 
31860 tejbeer 1140
                        </div>
35064 aman 1141
                        <div class="col-6 mt-2">
1142
 
1143
 
1144
                            <canvas id="chartEarningJSContainer" width="auto" height="auto"></canvas>
1145
 
1146
                        </div>
1147
 
1148
 
31860 tejbeer 1149
                    </div>
1150
                </div>
1151
            </div>
1152
        </div>
1153
    </div>
35064 aman 1154
</div>
31860 tejbeer 1155
 
1156
 
35064 aman 1157
</div>
31860 tejbeer 1158
 
1159
 
35064 aman 1160
<!-- Optional JavaScript -->
1161
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
31896 tejbeer 1162
 
31901 tejbeer 1163
 
35064 aman 1164
<script>
1165
    var op = $chartInvestment;
1166
    var px = document.getElementById('chartInvestmentJSContainer').getContext('2d');
1167
    var chart = new Chart1(px, op);
1168
    chart.update();
31860 tejbeer 1169
 
35064 aman 1170
 
1171
    var ops = $chartPurchase;
1172
    var pxs = document.getElementById('chartSecondaryJSContainer').getContext('2d');
1173
    var chartSec = new Chart1(pxs, ops);
1174
    chartSec.update();
1175
 
1176
    var opt = $chartTertiary;
1177
    var pxt = document.getElementById('chartTertiaryJSContainer').getContext('2d');
1178
    var chartTer = new Chart1(pxt, opt);
1179
    chartTer.update();
1180
 
1181
    var ope = $chartEarning;
1182
    var pxe = document.getElementById('chartEarningJSContainer').getContext('2d');
1183
    var chartEar = new Chart1(pxe, ope);
1184
    chartEar.update();
1185
</script>
1186
</body>
1187
 
31860 tejbeer 1188
</html>
35064 aman 1189
 
1190
<script>
1191
    document.querySelectorAll('#partnerSecondary tbody td.currency[data-brand][data-month]').forEach(function (cell) {
1192
        context = "${rc.contextPath}";
1193
        cell.addEventListener('click', function () {
1194
            const brandName = cell.getAttribute('data-brand');
1195
            const monthName = cell.getAttribute('data-month');
1196
 
1197
            const monthMap = {
1198
                'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6,
1199
                'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12
1200
            };
1201
 
1202
            const monthPart = monthName.substring(0, 3);
1203
            const monthNumber = monthMap[monthPart];
1204
            const fofoId = "$!{request.getParameter('fofoId')}";
1205
 
1206
            const rightTable = document.getElementById('rightTable');
1207
            if (rightTable) {
1208
                rightTable.style.display = 'block';
1209
            }
1210
 
1211
            const contextPath = window.location.pathname.substring(0, window.location.pathname.indexOf("/", 2));
1212
            doGetAjaxRequestHandler(
35119 aman 1213
                    `${context}/getBrandItemwisePartnerSecondarySale?month=${monthNumber}&brand=${brandName}&fofoId=${fofoId}`,
35064 aman 1214
                    function (response) {
1215
                        console.log("getting the api response", response)
1216
                        const rightTableBody = document.getElementById('rightTableBody');
1217
                        if (rightTableBody) {
1218
                            rightTableBody.innerHTML = '';
35119 aman 1219
                            let totalQuantity = 0;
35064 aman 1220
 
1221
                            response.forEach(function (item) {
35119 aman 1222
                                const qty = parseInt(item.quantity.toString().replace(/,/g, ''), 10) || 0; // remove commas, fallback to 0
35064 aman 1223
                                const row = document.createElement('tr');
1224
                                row.classList.add('clickable-brandrow');
1225
                                row.innerHTML =
1226
                                        '<td>' + item.brand + " " + item.modelNumber + '</td>' +
1227
                                        '<td>' + item.quantity + '</td>';
1228
 
1229
                                rightTableBody.appendChild(row);
35119 aman 1230
                                totalQuantity += qty;
35064 aman 1231
                            });
35119 aman 1232
 
1233
                            const totalRow = document.createElement('tr');
1234
                            totalRow.innerHTML =
1235
                                    '<td><strong>Total</strong></td>' +
1236
                                    '<td><strong>' + totalQuantity + '</strong></td>';
1237
                            rightTableBody.appendChild(totalRow);
35064 aman 1238
                        }
1239
 
35119 aman 1240
 
35064 aman 1241
                        const tableTitle = document.getElementById('tableTitle');
1242
                        if (tableTitle) {
1243
                            tableTitle.textContent = `${brandName} - ${monthName} Details`;
1244
                        }
1245
                    }
1246
            );
1247
        });
1248
    });
1249
</script>