Subversion Repositories SmartDukaan

Rev

Rev 35001 | Rev 35355 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35001 Rev 35119
Line 137... Line 137...
137
        padding: 15px;
137
        padding: 15px;
138
        margin: 20px 0 10px 0;
138
        margin: 20px 0 10px 0;
139
        border-radius: 8px;
139
        border-radius: 8px;
140
        text-align: center;
140
        text-align: center;
141
        font-weight: bold;
141
        font-weight: bold;
142
        font-size: 1.2rem;
142
        font-size: 1.6rem;
143
    }
143
    }
144
 
144
 
145
    .table thead th {
145
    .table thead th {
146
        background: #555;
146
        background: #555;
147
        color: white;
147
        color: white;
Line 531... Line 531...
531
                    <div class="bg-dark-light rounded-3 p-3 shadow rounded-corner">
531
                    <div class="bg-dark-light rounded-3 p-3 shadow rounded-corner">
532
                        <h1 class="text-white text-center mb-0 fw-bold py-2 fs-8">Brand Analysis </h1>
532
                        <h1 class="text-white text-center mb-0 fw-bold py-2 fs-8">Brand Analysis </h1>
533
                    </div>
533
                    </div>
534
                </div>
534
                </div>
535
            </div>
535
            </div>
-
 
536
            <img src="https://images.smartdukaan.com/uploads/campaigns/image2025-10-03/brand-analysis-note-11759485977860.png"
-
 
537
                 class="w-75 p-2 d-block mx-auto"
-
 
538
                 alt="note">
536
            ##        ----------------------------------------stagged chart ------------------------------------------
539
            ##        ----------------------------------------stagged chart ------------------------------------------
537
            <div class="container d-flex ">
540
            <div class="container d-flex ">
538
                <div class="p-5" style=" height: 350px !important;width: 650px !important;">
541
                <div class="p-5" style=" height: 350px !important;width: 650px !important;">
539
                    <div class="chart-title fs-2 text-center fw-bold">Brands Share Analysis (QTY)</div>
542
                    <div class="chart-title fs-2 text-center fw-bold">Brands Share Analysis (QTY)</div>
540
                    <canvas id="combinedStackedChart"></canvas>
543
                    <canvas id="combinedStackedChart"></canvas>
Line 695... Line 698...
695
                                    </tr>
698
                                    </tr>
696
                                    #end
699
                                    #end
697
                                </tbody>
700
                                </tbody>
698
                            </table>
701
                            </table>
699
                        </div>
702
                        </div>
-
 
703
                        <div class="section-header">Running Model</div>
-
 
704
 
-
 
705
                        <div class="table-responsive">
-
 
706
                            <table class="table  ">
-
 
707
                                <tbody>
-
 
708
                                <!-- Velocity Template Loop for Fast Selling Data -->
-
 
709
                                    #if($brandwiseRunningmoving && $brandwiseRunningmoving.entrySet().size() > 0)
-
 
710
                                        #foreach($brandEntry in $brandwiseRunningmoving.entrySet())
-
 
711
                                            #foreach($model in $brandEntry.value)
-
 
712
                                                #set($processingQty = $processingOrderCatalogQtyMap.get($model.getCatalogId()))
-
 
713
                                                #if(!$processingQty)
-
 
714
                                                    #set($processingQty = 0)
-
 
715
                                                #end
-
 
716
                                                #set($totalQty = $model.partnerCurrentQty + $processingQty)
-
 
717
                                                #set($suggestedQty = 2)
-
 
718
 
-
 
719
                                            <tr class="brand-data" data-brand="$brandEntry.key.toLowerCase()">
-
 
720
                                                <td class="w-25"><strong>$model.modelNumber</strong></td>
-
 
721
                                                <td class="suggested-qty-col w-25"><strong>$suggestedQty</strong></td>
-
 
722
                                                <td class="w-25">
-
 
723
                                                    <strong>
-
 
724
                                                        $model.partnerCurrentQty
-
 
725
                                                        #if($processingOrderCatalogQtyMap.get($model.getCatalogId()))
-
 
726
                                                            + $processingOrderCatalogQtyMap.get($model.getCatalogId())
-
 
727
                                                        #end
-
 
728
                                                    </strong>
-
 
729
                                                </td>
-
 
730
                                                <td class="remarks-col w-25">
-
 
731
                                                    #if($totalQty == 0)
-
 
732
                                                        <span class="text-danger fw-bold">Urgently Required</span>
-
 
733
                                                    #elseif($totalQty < 2)
-
 
734
                                                        <span class="status-order">Need to Order</span>
-
 
735
                                                    #else
-
 
736
                                                        <span class="status-ok fw-bold">Stock OK</span>
-
 
737
                                                    #end
-
 
738
                                                </td>
-
 
739
                                            </tr>
-
 
740
                                            #end
-
 
741
                                        #end
-
 
742
                                    #else
-
 
743
                                    <tr class="brand-data no-data-row">
-
 
744
                                        <td colspan="4">No Data Available</td>
-
 
745
                                    </tr>
-
 
746
                                    #end
-
 
747
                                </tbody>
-
 
748
                            </table>
-
 
749
                        </div>
700
                    </div>
750
                    </div>
701
                </div>
751
                </div>
702
            </div>
752
            </div>
703
            </div>
753
            </div>
704
            ##        -----------------------------------------------My Stock ------------------------------------------------
754
            ##        -----------------------------------------------My Stock ------------------------------------------------
Line 1447... Line 1497...
1447
            type: 'bar',
1497
            type: 'bar',
1448
            data: {
1498
            data: {
1449
                labels: combinedSegments.map(item => item.brand),
1499
                labels: combinedSegments.map(item => item.brand),
1450
                datasets: [
1500
                datasets: [
1451
                    {
1501
                    {
1452
                        label: 'Brand Market Share (%)',
1502
                        label: 'Brand Market Share Percentage',
1453
                        data: combinedSegments.map(item => item.marketShare),
1503
                        data: combinedSegments.map(item => item.marketShare),
1454
                        backgroundColor: combinedSegments.map(item => item.color + '80'),
1504
                        backgroundColor: combinedSegments.map(item => item.color + '80'),
1455
                        borderColor: combinedSegments.map(item => item.color),
1505
                        borderColor: combinedSegments.map(item => item.color),
1456
                        borderWidth: 2
1506
                        borderWidth: 2
1457
                    },
1507
                    },
1458
                    {
1508
                    {
1459
                        label: 'Your Brand Share (%)',
1509
                        label: 'Brand Share Percentage in your outlet',
1460
                        data: combinedSegments.map(item => ((item.stockQuantity / totalStockQuantity) * 100).toFixed(1)),
1510
                        data: combinedSegments.map(item => ((item.stockQuantity / totalStockQuantity) * 100).toFixed(1)),
1461
                        backgroundColor: combinedSegments.map(item => item.color + '40'),
1511
                        backgroundColor: combinedSegments.map(item => item.color + '40'),
1462
                        borderColor: combinedSegments.map(item => item.color),
1512
                        borderColor: combinedSegments.map(item => item.color),
1463
                        borderWidth: 1
1513
                        borderWidth: 1
1464
                    }
1514
                    }