Subversion Repositories SmartDukaan

Rev

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