Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
30471 amit.gupta 1
<style>
2
    .table {
3
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='100px' width='100px'><text transform='translate(20, 100) rotate(-45)' fill='rgb(211,211,211)' font-size='20'>$partnerCode</text></svg>");
4
    }
28102 tejbeer 5
 
30471 amit.gupta 6
    .highlight-br {
7
        border-right: 1px solid #aaa !important;
8
    }
28117 tejbeer 9
</style>
28134 tejbeer 10
 
11
<script type="text/javascript">
30471 amit.gupta 12
    $(document).ready(function () {
28139 tejbeer 13
 
30471 amit.gupta 14
 
15
    });
28134 tejbeer 16
</script>
28109 tejbeer 17
 
28139 tejbeer 18
<body>
30471 amit.gupta 19
<div class="col-lg-12">
20
    <h4>Note</h4>
21
    <b>Hygiene Payout</b> - Hygiene Payout calculation is subject to sales
22
    hygiene including customer & other details entered in the system, pl
23
    refer to hygiene meter in your Dashboard.<br> <b>Tertiary
24
    Payout</b> - Tertiary Payout calculation is subject to activation of the
25
    handset against the sales entered in system. <br> <b>Investment
26
    Payout</b> - Investment Payout calculation is subject to maintenance of
27
    90% of minimum Investments for minimum 12 days in a month as per below
28
    slabs
29
    <ul>
30
        <li>a) 2% in case minimum investment is 90% or above for 12 days
31
            or more in a month
32
        </li>
33
        <li>b) 1% in case of minimum investment is 90% or above for 8-11
34
            days in a month
35
        </li>
36
        <li>c) No payout in case of minimum investment is less than 8
37
            days in a month.
38
        </li>
39
    </ul>
40
    <b>Below Price Structure is subject to change at the discretion of
41
        SmartDukaan.</b>
28102 tejbeer 42
 
30471 amit.gupta 43
</div>
28102 tejbeer 44
 
30471 amit.gupta 45
<div class="col-lg-12">
46
    <table class="table table-border table-condensed table-bordered"
47
           id="circular-table">
28102 tejbeer 48
 
31215 amit.gupta 49
        <thead>
31234 amit.gupta 50
            #set($rowspan = 1)
51
            #if($allMargins.size() > 0 || $offers.size() > 0)
52
                #set($rowspan=2)
31215 amit.gupta 53
            #end
54
 
55
        <tr>
31232 amit.gupta 56
            <th rowspan=$rowspan>Model</th>
57
            <th rowspan=$rowspan>Type</th>
58
            <th rowspan=$rowspan>MRP</th>
59
            <th rowspan=$rowspan>MOP</th>
60
            <th rowspan=$rowspan>DP</th>
31215 amit.gupta 61
            #if($sellins.size() > 0)
62
                <th colspan="$sellins.size()" style="text-align: center">Sell In</th>
63
            #end
64
            #if($sellouts.size() > 0)
65
                <th colspan="$sellouts.size()" style="text-align: center
66
                ">Sell Out
67
                </th>
68
            #end
69
            #set($add=0)
70
            #if($upgradeOffer)
31232 amit.gupta 71
                <th rowspan=$rowspan>Upgrade Offer</th>
31215 amit.gupta 72
                #set($add=1)
73
            #end
74
            #foreach($offer in $offers)
75
                #set($fieldIndex=$velocityCount*2 + (4 + $allMargins.size() + $add))
76
                <th data-idx="$fieldIndex" colspan=2 data-offerid="$offer.getId()"><a href="javascript:void(0)"
77
                                                                                      class="mk_partner_view">$offer.getName()</a>
78
                </th>
79
            #end
31903 amit.gupta 80
            <th rowspan=$rowspan>NLC</th>
81
            <th rowspan=$rowspan>MOP-DP</th>
31232 amit.gupta 82
            <th rowspan=$rowspan>Total Margin</th>
83
            <th rowspan=$rowspan>Net % Margin</th>
31215 amit.gupta 84
 
85
        </tr>
31233 amit.gupta 86
            #if($rowspan==2)
31215 amit.gupta 87
            <tr>
88
                #foreach($marginName in $allMargins)
89
                    <th>$marginName</th>
90
                #end
91
                #foreach($offer in $offers)
92
                    <th>Target</th>
93
                    <th>Margin</th>
94
                #end
95
            </tr>
96
            #end
97
        </thead>
31233 amit.gupta 98
        <tbody>
31903 amit.gupta 99
            #foreach($priceCircularItemModel in $priceCircularItemModels )
31233 amit.gupta 100
            <tr>
31903 amit.gupta 101
                <td>$priceCircularItemModel.getCatalogSummaryModel().getModelName() $priceCircularItemModel.getCatalogSummaryModel().getModelNumber()</td>
102
                <td>$priceCircularItemModel.getCatalogSummaryModel().getCategory()</td>
103
                <td class="currency">$priceCircularItemModel.getCatalogSummaryModel().getMrp()</td>
104
                <td class="currency mop"
105
                    data-value="$priceCircularItemModel.getCatalogSummaryModel().getMop()">$priceCircularItemModel.getCatalogSummaryModel().getMop()</td>
106
                <td class="currency dp"
107
                    data-value='$priceCircularItemModel.getCatalogSummaryModel().getDp()'>$priceCircularItemModel.getCatalogSummaryModel().getDp()</td>
31233 amit.gupta 108
                #foreach($marginName in $allMargins)
31903 amit.gupta 109
                    #if ($priceCircularItemModel.getHeaderSchemeModelsMap().containsKey($marginName))
110
                        <td class="currency margin"
111
                            data-value='$mvcResponseSender.createResponseString($priceCircularItemModel.getHeaderSchemeModelsMap().get($marginName))'>$mvcResponseSender.createResponseString($priceCircularItemModel.getHeaderSchemeModelsMap().get($marginName))</td>
112
                    #else
113
                        <td>-</td>
114
                    #end
31233 amit.gupta 115
                #end
116
                #if($upgradeOffer)
31903 amit.gupta 117
                    <td class="currency">$priceCircularItemModel.getUpgradeOffer()</td>
31233 amit.gupta 118
                #end
31903 amit.gupta 119
                #foreach($slabPayouts in $priceCircularItemModel.getSlabPayouts())
31233 amit.gupta 120
                    #if($slabPayouts && $slabPayouts.size()>0)
121
                        <td>
122
                            <select class="mk_criteria_slab"
31903 amit.gupta 123
                                    data-value='$slabPayouts.entrySet().iterator().next().getValue()'>
31233 amit.gupta 124
                                #foreach($payout in $slabPayouts.entrySet())
31903 amit.gupta 125
                                    <option value='$mvcResponseSender.createResponseString($payout.getValue())'>$payout.getKey()
31233 amit.gupta 126
                                        onwards
127
                                    </option>
128
                                #end
129
                            </select>
130
                        </td>
31903 amit.gupta 131
                        <td class="currency margin"
132
                            data-value='$mvcResponseSender.createResponseString($slabPayouts.values().iterator().next())'>
133
                            $mvcResponseSender.createResponseString($slabPayouts.values().iterator().next())
134
                        </td>
31233 amit.gupta 135
                    #else
136
                        <td> -</td>
137
                        <td> -</td>
138
                    #end
139
                #end
31903 amit.gupta 140
                <td class="currency netprice">-</td>
141
                <td class="currency dpmop">-</td>
142
                <td class="currency totalmargin">-</td>
143
                <td class="netmargin">-</td>
31233 amit.gupta 144
 
145
            </tr>
146
            #end
147
        </tbody>
30471 amit.gupta 148
    </table>
149
</div>
28102 tejbeer 150
 
30471 amit.gupta 151
<div class="offer-margin-container">
152
    <div class="modal  text-center" id="offerDescription">
153
        <div class="modal-dialog modal-lg modal-dialog-scrollable">
154
            <div class="modal-content">
29785 amit.gupta 155
            </div>
156
        </div>
30471 amit.gupta 157
    </div>
158
</div>
28139 tejbeer 159
</body>
28102 tejbeer 160
<script type="text/javascript">
30471 amit.gupta 161
    $(document).ready(function () {
31903 amit.gupta 162
        $('#circular-table').find('tr').each(function (i, el) {
163
            setMargins(el);
164
        });
30471 amit.gupta 165
        priceCircularTable = $('#circular-table').DataTable({
166
            "scrollX": true,
167
            "bPaginate": true,
168
            "bLengthChange": true,
169
            "bFilter": true,
170
            "bInfo": false,
171
            "bAutoWidth": false,
172
            "pageLength": 100
28102 tejbeer 173
 
30471 amit.gupta 174
        });
31903 amit.gupta 175
        //setMargins();
30471 amit.gupta 176
    });
31903 amit.gupta 177
 
30471 amit.gupta 178
    $('select.mk_criteria_slab').change(function () {
31903 amit.gupta 179
        let tdPayout = $(this).closest('td').next();
180
        tdPayout.data("value", JSON.parse($(this).val()));
181
        console.log("--------" + tdPayout.data('value'));
182
        setMargins($(this).closest('tr'));
183
        priceCircularTable.draw();
184
    });
30471 amit.gupta 185
 
31903 amit.gupta 186
    function setMargins(trContainer) {
187
        let dp = $(trContainer).find('.dp').data("value");
188
        if (dp == undefined) return;
189
        let mop = $(trContainer).find('.mop').data('value');
190
        let totalMargin = 0;
191
        if ($(trContainer).find('.margin').length > 0) {
192
            let fixedMargin = 0;
193
            let percentageMargin = 0;
194
            $(trContainer).find('.margin').each(function (i, ele) {
195
                let amountModel = $(ele).data('value');
196
                //console.log(amountModel);
197
                if (amountModel.amountType == 'FIXED') {
32022 amit.gupta 198
                    if (!amountModel.discount)
199
                        fixedMargin += amountModel.amount;
31903 amit.gupta 200
                } else if (amountModel.amountType == 'PERCENTAGE') {
201
                    percentageMargin += amountModel.amount;
202
                }
203
            });
204
            let effectiveDp = dp - fixedMargin;
205
            console.log(fixedMargin);
206
            let percentageValue = effectiveDp / (100 + percentageMargin);
207
            console.log(percentageValue + "(" + percentageMargin + "%)");
208
            $(trContainer).find('.margin').each(function (i, ele) {
209
                let amountModel = $(ele).data('value');
210
                //console.log(amountModel);
211
                if (amountModel.amountType == 'PERCENTAGE') {
212
                    $(ele).html(numberToComma(percentageValue * amountModel.amount));
213
                    totalMargin += percentageValue * amountModel.amount;
214
                } else {
215
                    $(ele).html(numberToComma(amountModel.amount));
216
                    totalMargin += amountModel.amount;
217
                }
218
            });
219
        }
220
        let dpmop = mop - dp;
221
        let nlc = dp - totalMargin;
222
        $(trContainer).find('.netprice').html(numberToComma(nlc));
223
        $(trContainer).find('.dpmop').html(numberToComma(dpmop));
224
        totalMargin += dpmop;
225
        $(trContainer).find('.totalmargin').html(numberToComma(totalMargin));
226
        //debugger;
227
        $(trContainer).find('.netmargin').html(numberToComma(totalMargin * 100 / (nlc)) + '%');
228
        //priceCircularTable.draw();
229
    }
30471 amit.gupta 230
 
28102 tejbeer 231
</script>