Subversion Repositories SmartDukaan

Rev

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