Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
33247 ranu 1
<style>
2
    .tdInput .bootstrap-tagsinput {
3
        width: 100%;
4
    }
5
</style>
6
<div class="well" style="padding: 10px;">
7
    <p><b>#<span id="selectedTransactionId"></span> - Order List</b></p>
8
    <input type="hidden" id="selectedWarehouseId">
9
    <h4>In Stock </h4>
10
    <table id="wareHouseTransactionTable" class="table table-striped table-advance table-hover" style="width:100%">
11
        <thead>
12
        <tr>
13
            <th>Id</th>
14
            <th>Product Desc</th>
33257 ranu 15
            <th> Qty</th>
33247 ranu 16
            <th>U.Price</th>
33257 ranu 17
            <th>Imeis/Qty to Bill</th>
33247 ranu 18
        </tr>
19
        </thead>
20
        <tbody>
21
            #if(!$inStockOrdersSerialized.isEmpty())
22
                #foreach($order in $inStockOrdersSerialized)
23
                <tr class="main-tr">
24
                    <td class="orderId">$order.getId()</td>
33257 ranu 25
                    <td>$order.getLineItem().getItemId()</td>
33247 ranu 26
                    <td>$order.getLineItem().getItemDescription()</td>
27
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
28
                    </td>
29
                    <td>$order.getLineItem().getUnitPrice()</td>
30
                    #if($order.getLineItem().getItem().getType()=="SERIALIZED")
31
                        <td style="width: 35%;" class="tdInput"><input type="text" class="imeis-to-grn form-control"
32
                                                                       placeholder=""></td>
33
                    #end
34
                </tr>
35
                    #foreach($agingModelEntry in $allOrderSerialNumberMap.entrySet())
36
                        #if($agingModelEntry.getKey() == $order.getId())
37
                            #set($agingModelMap = $agingModelEntry.getValue())
38
                            #foreach($agingModel in $agingModelMap.entrySet())
39
                                #set($agingModelValueMap = $agingModel.getValue())
33253 ranu 40
                                #set($counter = 0)
33247 ranu 41
                                #foreach ($aging in $agingModelValueMap.entrySet())
42
                                    #if($agingModelValueMap)
43
                                    <tr>
33257 ranu 44
                                        <td colspan="6">
33247 ranu 45
                                            <table class="table table-responsive table-bordered"
46
                                                   style="margin-bottom: 0;">
47
                                                <tbody>
48
 
49
                                                <tr>
50
                                                    <td style="width: 20%;"><span><b>Age : </b></span>$aging.getKey()
51
                                                        Days Old
52
                                                    </td>
53
                                                    <td>
54
 
55
                                                        #foreach ($value in $aging.getValue())
56
                                                            <input type="hidden" class="agingserialNumber"
33253 ranu 57
                                                                   data-ageingid="$counter"
33247 ranu 58
                                                                   value="$value.getSerialNumber()">
33253 ranu 59
                                                            <span>$value.getSerialNumber(),</span>
33247 ranu 60
                                                        #end
61
                                                    </td>
62
                                                </tr>
63
 
64
                                                </tbody>
65
 
66
                                            </table>
67
                                        </td>
33253 ranu 68
                                        #set($counter = $counter + 1)
33247 ranu 69
                                    </tr>
70
                                    #end
71
 
72
                                #end
73
 
74
                            #end
75
                        #end
76
                    #end
77
                #end
78
            #end
79
            #if(!$inStockOrdersNonSerialized.isEmpty())
80
                #foreach($order in $inStockOrdersNonSerialized)
81
                <tr class="main-tr">
82
                    <td class="orderId">$order.getId()</td>
33257 ranu 83
                    <td>$order.getLineItem().getItemId()</td>
33247 ranu 84
                    <td>$order.getLineItem().getItemDescription()</td>
85
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
86
                    </td>
87
                    <td>$order.getLineItem().getUnitPrice()</td>
88
                    <td><input type="text" class="form-control filledQty" placeholder="Fill Qty"></td>
89
                </tr>
90
                <tr>
33257 ranu 91
                    <td colspan="6">Available Quantity :
33247 ranu 92
                        - $orderIdStockAvailabilityMap.getOrDefault($order.getId(),0)</td>
93
                </tr>
94
                #end
95
            #end
96
            #if($inStockOrdersSerialized.isEmpty() && $inStockOrdersNonSerialized.isEmpty())
97
            <tr>
33257 ranu 98
                <td colspan="6"> No Order Found</td>
33247 ranu 99
            </tr>
100
            #end
101
        </tbody>
102
    </table>
33261 ranu 103
    #if(!$inStockOrdersSerialized.isEmpty() && !$inStockOrdersNonSerialized.isEmpty())
104
        <div class="row">
105
            <div class="col-md-12">
106
                <button type="button" class="btn btn-info pull-right order_accepted">Generate Bill</button>
107
            </div>
33247 ranu 108
        </div>
33261 ranu 109
    #end
110
 
33247 ranu 111
</div>
112
<div class="clearfix"></div><br>
113
<div class="well" style="padding: 10px;">
114
    <h4>Out of Stock </h4>
115
    <table id="wareHouseTransactionTable" class="table table-striped table-advance table-hover" style="width:100%">
116
        <thead>
117
        <tr>
118
            <th>Id</th>
33257 ranu 119
            <th>Item Id</th>
120
            <th>Desc</th>
121
            <th>Qty</th>
33247 ranu 122
            <th>U.Price</th>
33257 ranu 123
            <th>Action</th>
33247 ranu 124
        </tr>
125
        </thead>
126
        <tbody>
127
            #if(!$oOSOrdersSerialized.isEmpty())
128
                #foreach($order in $oOSOrdersSerialized)
129
                <tr class="main-tr">
130
                    <td class="orderId">$order.getId()</td>
33257 ranu 131
                    <td>$order.getLineItem().getItemId()</td>
33247 ranu 132
                    <td>$order.getLineItem().getItemDescription()</td>
133
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
134
                    </td>
135
                    <td>$order.getLineItem().getUnitPrice()</td>
33257 ranu 136
                    <td>
137
                        <button type="button" class="btn btn-primary btn-sm changeWarehouse-mk" data-toggle="modal"
138
                                data-target="#changeWarehouseModal" data-OrderId="$order.getId()"
139
                                data-itemId="$order.getLineItem().getItemId()"
140
                                data-warehouseId="$order.getWarehouseId()">
141
                            Change
142
                        </button>
143
                    </td>
33247 ranu 144
                </tr>
145
                #end
146
            #end
147
            #if(!$outOfStockOrdersNonSerialized.isEmpty())
148
                #foreach($order in $outOfStockOrdersNonSerialized)
149
                <tr class="main-tr">
150
                    <td class="orderId">$order.getId()</td>
33257 ranu 151
                    <td>$order.getLineItem().getItemId()</td>
33247 ranu 152
                    <td>$order.getLineItem().getItemDescription()</td>
153
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
154
                    </td>
155
                    <td>$order.getLineItem().getUnitPrice()</td>
33257 ranu 156
                    <td>
157
                        <button type="button" class="btn btn-primary btn-sm changeWarehouse-mk" data-toggle="modal"
158
                                data-target="#changeWarehouseModal" data-OrderId="$order.getId()"
159
                                data-itemId="$order.getLineItem().getItemId()"
160
                                data-warehouseId="$order.getWarehouseId()">
161
                            Change
162
                        </button>
163
                    </td>
33247 ranu 164
                </tr>
165
                #end
166
            #end
167
            #if($outOfStockOrders.isEmpty() && $outOfStockOrdersNonSerialized.isEmpty())
168
            <tr>
33257 ranu 169
                <td colspan="6"> No Order Found</td>
33247 ranu 170
            </tr>
171
            #end
172
        </tbody>
173
    </table>
174
</div>
33253 ranu 175
 
33257 ranu 176
##bootstrap popup
177
<div class="modal fade" id="changeWarehouseModal" role="dialog">
178
    <div class="modal-dialog modal-sm">
179
 
180
        <!-- Modal content-->
181
        <div class="modal-content">
182
            <div class="modal-header">
183
                <button type="button" class="close" data-dismiss="modal">&times;</button>
184
                <h4 class="modal-title">Change Warehouse</h4>
185
            </div>
186
            <div class="modal-body">
187
            </div>
188
            <div class="modal-footer">
189
                <button type="button" class="btn btn-info change-warehouse-save-mk" data-dismiss="modal">Submit</button>
190
            </div>
191
        </div>
192
 
193
    </div>
194
</div>
195
 
33247 ranu 196
<script>
197
    $(document).ready(function () {
198
        $("#wareHouseTransactionTable > tbody > tr").each(function () {
199
            var qtyElem = $(this).find(".qty");
200
            var remainQtyElem = $(this).find(".remainQty");
201
            var qty = parseInt(qtyElem.text()); // Get initial quantity
202
            var imeiInputElem = $(this).find(".imeis-to-grn");
203
 
204
            imeiInputElem.on('itemAdded itemRemoved', function () {
205
                remainQtyElem.text(imeiInputElem.tagsinput('items').length); // Update displayed quantity
206
            });
207
 
208
            imeiInputElem.tagsinput({
209
                maxTags: qty,
210
                trimValue: true,
211
                allowDuplicates: false,
212
                confirmKeys: [13, 44, 188, 32],
213
                delimiterRegex: /[,\s]/,
214
                tagClass: function (item) {
215
                    if (item.valid == null) return 'label label-primary';
216
                    if (item.valid) {
217
                        return 'label label-success';
218
                    } else {
219
                        return 'label label-danger';
220
                    }
221
                },
222
            });
223
 
224
            imeiInputElem.on('itemAdded', function (event) {
225
                var enteredValue = event.item;
33253 ranu 226
                const inputValues = (imeiInputElem.val()).split(',');
33247 ranu 227
                var serialNumbers = []; // Array to store all aging serial numbers within this row
33253 ranu 228
                var ageingSerials = {}; // Array to store all aging serial numbers within this row
33247 ranu 229
                // Collect all aging serial numbers within this row
33253 ranu 230
                imeiInputElem.closest("tr").nextUntil('.main-tr').find(".agingserialNumber").each(function (row, index) {
231
                    var ageing = $(this).data('ageingid');
33247 ranu 232
                    serialNumbers.push($(this).val());
33253 ranu 233
                    if (!ageingSerials.hasOwnProperty(ageing)) {
234
                        ageingSerials[ageing] = [];
235
                    }
236
                    ageingSerials[ageing].push($(this).val());
33247 ranu 237
                });
238
 
33253 ranu 239
                //console.log("serial number {}", serialNumbers);
240
                console.log("ageingSerials number {}", ageingSerials);
241
 
242
                // for (const ageIndex in ageingSerials) {
243
                //     if (!ageingSerials[ageIndex].includes(enteredValue)) {
244
                //         console.log('match not fount in ',ageIndex,' Index')
245
                //         $('.bootstrap-tagsinput').find('.tag').last().removeClass('label-primary');
246
                //         $('.bootstrap-tagsinput').find('.tag').last().addClass('label-danger');
247
                //     }
248
                //     else {
249
                //         $('.bootstrap-tagsinput').find('.tag').last().removeClass('label-danger');
250
                //         $('.bootstrap-tagsinput').find('.tag').last().addClass('label-primary');
251
                //     }
252
                // }
253
 
33247 ranu 254
                // Check if entered value exists in any aging serial number within this row
255
                if (!serialNumbers.includes(enteredValue)) {
256
                    $('.bootstrap-tagsinput').find('.tag').last().removeClass('label-primary');
257
                    $('.bootstrap-tagsinput').find('.tag').last().addClass('label-danger');
258
                }
259
            });
260
 
261
 
262
        });
263
    });
264
</script>
33253 ranu 265