Subversion Repositories SmartDukaan

Rev

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